IMO, if you think that reverse geocoding results a bad, Places API results wouldn't make you happier.
Here is the sample of Places API
https://maps.googleapis.com/maps/api/place/search/xml?location=55.753720,37.620144&key=google_map_api_key
And Geocoder to compare
https://maps.googleapis.com/maps/api/geocode/xml?latlng=55.753720,37.620144
As you can see, there is no address in Places API results. The first addresses you may get only after addition radius
parameter:
https://maps.googleapis.com/maps/api/place/search/xml?location=55.753720,37.620144&radius=100&key=google_map_api_key
For me, trying to decide which address within 100 meters is right is more complex task than simple use of the best possible result from geocoding.