Show me nirvana, hacker news.
* Have their contact info auto-imported if I add them as a friend in SOME WAY: either by emailing them, tweeting them, messaging them, whatever.
* Have all my contacts synced into one centralized data store (Google Contacts, in my case).
* Merge and remove duplicate contacts so I don't have to deal with 50 entries of people...
What I ended up settling on is really working well for the past year or so.
I use Google contacts as my primary datastore. I then use FullContact (free): https://www.fullcontact.com/
FullContact will hook into everything, eg: Google / Twitter / Facebook / LinkedIn / etc., grab EVERYONE'S contact info, and merge it into one record, then merge that back into Google contacts =)
Would highly recommend it.
Essentially it made mash of my contacts, wouldn't let me correct them either in their UI (with features built exactly for that), and or in any native apps, more than a year on I'm still nowhere near cleaning up the mess.
All they had to say about it was that "synchronizing contacts is a hard problem", or something to that effect. No effort to repair/undo the damage, no suggestions on how to avoid future problems -- sorry we ate your data, sucks to be you.
I also started using the full contact mobile carddav sync - which has worked super well.
The card scanner with fullcontact is also nice, but paid.
I tried to move to ownCloud, but I just couldn't bring myself to make the full move over since my email was still on Gmail.
Just as I had decided to move to Fastmail, Google came out with Inbox. The Android Inbox app is just too good to leave now.
Recently came across the Free Hubpsot CRM, while I've yet to give to get it a test drive, the demo looks interesting > http://www.hubspot.com/crm
For those with large groups of people/information, go with Google Contacts.
Just don't use multiple systems, it will end up making a mess.