When using the GClientGeocoder JavaScript object, geocoder requests are made by the user's web browser and count against the quota for the user's IP address. This means that excessive usage on the part of one user will not impact other users of your site. However if many users access the Google Maps API through a single proxy they will share the quota of the IP address of the proxy.
When geocoder requests are made using the HTTP geocoder they count against the quota for the IP address of the system making the HTTP request. If you need to submit a very large set of addresses to the HTTP geocoder to cache for later use you should consider Google Maps API Premier, which provides a separate batch geocoding quota for this purpose.
You can also supplement the Google Maps API geocoder with another geocoding service, a list of which is available here.