I imagine this happens when you save contacts to your phone and restore them. If you keep them all synced on your google account and then sync from there always contacts won't duplicate. The fastest way that I know of is to use a computer and log in to your Gmail and go to your contacts and then delete them from there like you would an email. Then sync your contacts from gmail only from then on.
I had this same problem! i had over 1000+ contacts, but actually only under 200 in phonenumbers and emails.
I actually used this program called "contact remover" which is much easier than going through the phonebook on-by-one deleting multiple entries. Think of it as a batch delete. I think the paid version deletes duplicates for you.
I had this problem also but now have it solved. Go into Gmail and go to contacts. After you are at contacts click on the "more" button and a list should drop down from there click "find & merge duplicates" and all your problems should be solved! Hope this helps.