How do we distinguish a bopomofo symbol from a similar character? For example, 丫 is a character while ㄚ is a bopomofo symbol. I find it very difficult to tell the difference (especially if they are hand-written), unless from the context.

Other examples:

幺andㄠ; 又andㄡ，一andㄧ；彳andㄔ；ㄙand厶, etc.

They are so similar that I failed to see how one could distinguish them visually, especially in handwritting.
You are right, but in which context you have the need to distinguish them? In most places, Zhuyin is clearly marked to be so. In case sinograms and Zhuyin are mixed, they usually follow a pattern: according to the writing direction, Zhuyin can be written above sinograms or on the right side. 

In my opinion, there is practically no occasion to guess whether a single handwritten character is a Zhuyin or a sinogram. Otherwise, please give details of such a situation!