I have three main profile pictures: Facebook, Google and Gravatar. Is there any way to update all of them at the same time?
In your Google profile, you can use a url to define your profile image. You can do the same in your gravatar profile. The only place where you can't do that is in facebook.
Your facebook profile picture has a permanent URL,
http://graph.facebook.com/username/picture. You can now use that as your profile image in both google and gravatar. That way, the next time you change your picture on facebook, it will be reflected on the other two services.
Edit : just realised you can get a bigger image by using an extra argument in the URL :
Was that not the purpose of Gravatar? e.g. change all your pic references to point to your Gravatar (Globally Recognized Avatar) then just update your Gravatar when you want to change it.
(Note: changes may not take right away (on any service) depending on how the caching is done)