GPS error reasons and maximising errors
Any civilian GPS is unlikely to yield the accuracy the question implies. This is not merely due to limitations in the quality or accuracy of GPS modules, but the inherent and by-design low precision data as available on civilian GPS signals from the satellites. 

After "Selective Availability" restrictions were turned off for civilian GPS in 2000 or so, the accuracy possible became about 10 meters with GPS data alone, and between 1.5 best case and 8 meters typical with WAAS and similar enhancements.

Typical single-chip GPS units (as used in smartphones) using such techniques thus achieve up to this degree of precision - which would still put you potentially across the road, or not, depending in sheer chance, at any given point in time.

Modern high-end stand-alone GPS devices do address this shortcoming in part by using Adaptive GPS and Differential GPS techniques, enhancing the precision of the received GPS signal using ground-based "beacons" and by combining GPS data with inertial navigation data as far as possible. 

The culmination of such precision enhancing techniques is Relative Kinematic Positioning (RKP), which can achieve precision of the order of 10 cm, but given the processing and data requirements of such systems, it is unlikely that current mobile phones incorporate high precision RKP. If there are any such phones which do, that would be interesting to know. 

Though this does not solve the specific problem stated in the question, hopefully it provides some insight into why the desired results may be impractical.