In Latin cursive, we differentiate lowercase a a from lowercase O with the stroke in the middle of O. However, this stroke does not exist in Russian cursive. I see that the right border of A is slanted and because of it the letter does not form a perfect circle as O, but that seems a very small detail which can be easily lost in writing. Is there any other difference between both? Is the starting point for the next letter higher in O than A?
So here's "classic" handwriting cursive: You'll find more at the google pictures search for "handwriting cursive" (I'd just want to stress this is not something specific to the Russian cursive).
Is the starting point for the next letter higher in O than A?
Yes, notice the extra a stroke on the right also determines how it connects to the next symbol (top for o and bottom for a). Usually that's enough. There's no other hidden details and/or tricks. And the rest just is a matter of habits/training. So in general, the only (real and honest) answer to a question like:
how ... native speakers differentiate between the letters ...
would be something like:
They just do.
Thus I'm afraid the only suggestion for you in this case is: keep training to read/write such script.