The pics from Facebook and GMail look good in list mode, but if I open the contact they are bad looking. I have a contact pic that I took with the phone and it looks good in list and in contact view. The pic was taking using the 8M setting (3264x1840) so I guess it BETTER look good!
I haven't tried this, but what if you transfer the pic to your phones gallery and then verify it looks good and try using it as the contact pic. Afterwards, you can just delete it from the gallery (I think the contact pic would stay).
Edit: Just tried to use a pic from the Gallery and then delete the pic from the Gallery and it still shows on the contact so I guess it will work although I think the "quality" of the image still suffers a bit.