Pick 1 and stick with it.
I have had similar issues, and wanted to synchronise multiple accounts, AND multiple devices. This is technically hard.
For example. What would happen if you have no internet on your phone, but you change the information of 4 contacts from your me.com account. In just a minute later someone changes the information of these contacts on gmail.com. 10 minutes later your phone has internet and wants to sync the 4 contacts with me.com.
Now gmail and me.com are in conflict. Who is right? This will results in unwanted duplicates and deletions. You do not want that.
Therefor my suggestion would be to pick 1 and stick with it. I have chosen for Apple's me.com, but that is just my personal preference.
How to merge them?
- Make backups!
- At first, you need to set up all accounts in Contacts
- Select the contacts group on the left, select all contacts.
- Now drag these contacts onto the contacts group you want to import them to. Contacts.app will ask you if you want to import the cards and it tells you that duplicates will be merged. You want this.
- Now you only need to disable the account in the Contacts.app preferences (Command-comma). Preferences -> Accounts -> select the account you want to disable -> Remove tick mark from 'enable this account'