To speak the truth - the Android integration with Google's contacts could be better.
To transform all my locally stored contacts and make them Google contacts I had to first export them to a file, copy them on my laptop, upload to Google, mix&match duplicates and other corrections, download an export again on my computer, delete all my contacts from my phone (which also deleted my contacts from Google), reupload that export to Google, then synchronize my phone with Google's Contacts.
Now everything I do on my phone or in Google's Contacts is kept in sync nicely. I also have Facebook sync set so I get faces of people for free and sometimes email addresses or phone numbers that I didn't have :-)
But it was a painful experience to export my old sim-stored contacts and sometimes I get the feeling that while Google has the right idea about what people want, they are moving too slowly to fix their shit.
The process was pretty easy for me - install Motorola Phone Tools, export the CSV file containing my contacts, make some changes in Excel, upload to Google. There's even an 'Import from SIM' option on my phone (possibly a feature of HTC's People app).
Even on a featurephone your SIM contacts will conflict with your phone-stored contacts. There's an easy solution: don't view your SIM contacts.
I don't see what shit Google needs to fix here, other than documentation, and in this case isn't that the handset manufacturer's responsibility?
Since I had to go through all this trouble, I also wanted to take care of all the duplicates and all the junk, to have a single source of truth for my phone numbers - so I deleted everything from my phone, which in turn deleted everything from Google, and that export was a backup that I uploaded to Google's Contacts again. It's weird, but that's what I did to get what I wanted.
This file I also processed locally with a script to merge entries that had different names / different phone numbers, using some heuristics I came up with.
I agree that SIM contacts are a common problem, but there should be an easier way to handle it.
My main problem was that there is no option to upload your SIM contacts to Google and no proper tools to get rid of the junk, only a merge option that functions differently in Google Contacts than it does on Android.
And the contacts export only exports on an external SD card -- now this seemed really weird to me. I actually had to go out and buy an external SD, otherwise I couldn't do it.
Don't get me wrong, I love Android and I love Google Apps, but if you're going to implement synchronization, you also have to give the user the proper tools to take care of legacy.
For reference this is the feature I'm talking about, and it will import it to your Google account (though it wasn't useful for me, since my contacts were stored on my old phone rather than a SIM).
This kind of feature should be in the standard Android Contacts app IMO. But I can't comment on that, since I've not used a vanilla Android phone.
The Google Contacts 'find duplicates' feature did a passable job for the few duplicates I had, but I doubt it would fit some systems (e.g. matching together "Bill Posters" and "Bill Work") nor would it be worth the effort to try too hard. I guess that's a pain we have to live with.
Same with updating contacts across devices.