Low res contact photos are something that has always bugged me as well. I heard that Google starting supporting higher res profile pics, so I started changing the profile pics in my Google Contacts. When the new pics synced to my Optimus G, I found that some were high res, and some were still low res crap. What I found is that only contacts marked as favorites will sync high res photos. Makes no sense, but whatever.
Now obviously you don't want all your contacts to be favorites, so the workaround is to mark the contact as a favorite, change the profile pic, let it sync to your phone and the un-favorite that contact. The high res contact pic should stay on your phone from that point on.