Right. Kudos to perform TOS.
There are other services that perform geocoding. To name a few: Bing , Yahoo , MapQuest , Nominatim . However, they have various conditions of service restrictions that are similar to Google, which may also apply. If this is not so, then there are query limits. Also, USC WebGIS, but its demos are often down, and the service is reported to be intermittent.
Compared to the limitations of many of these free services, a commercial service may be used. There are several of them, and each of them works differently. Some of them will search for addresses and do the best (or approximate) results - this is what Google and other search services do.
Others will get an address that is supposed to be real and actually verify it, and then geocode it. This leads to potentially more useful and accurate results, since the address is guaranteed to be correct and standardized. In the USA, this is called CASS & trade; (although not all providers will geocode). It is useful for creating perimeters on maps (taking into account the value of geocoding accuracy) and for displaying coordinates in the right place instead of the second best address for hundreds of miles.
One such LiveAddress API geocoding service. (I work on SmartyStreets.) The demos show how geocoding works , but it's flexible, so you can choose how to implement it with a tile. In addition, there are no query limits in LiveAddress, as the system will scale on demand. And you wonβt pay for addresses that are not verified, which helps prevent abuse.
The choice is yours depending on your needs. Do a little research and you should find something good. Hope this helps!
source share