Over the weekend, I downloaded all my iCloud contact as a Vcard file. I then downloaded all my Google contacts as Vcard file. I then did a full iPhone erase to factor reset. Before I did any iPhone sync, I uploaded all my Google Vcard contacts into iCloud. (I did get dup contacts.)
As I reset my iPhone, when prompted to restore from my iCloud account I did not restore from iCloud backup! I did a manual restore. From the app store, I went to purchased and manually selected ONLY the apps I knew I needed and used. ( when an app prompted me to have access to contacts, I said no.)
Under settings/contacts I only had iCloud (email too) installed. My iCloud contact did not all sync. For example, my iCloud had my Mom listed (4) times but she was not on my iPhone contacts. So any missing phone contacts I manually downloaded them from Google vcard contacts (on my PC) and uploaded them into iCloud as a vcard. I am sure some contacts were missed and not uploaded into iCloud - but i fixed this and will explain below.
Once I had all my iCloud contacts loaded as vcards from Google, I noticed I was still having iCloud sync issues and contacts were missing (check total contact count to verify.) So, I sync'd my google contact to my iPhone under setting/contacts. ALL of my missing contacts were sync'd now. BUT NOW I had duplicates on my iPhone UGH! So I downloaded a dup app to merge all my contacts ( i used Clear Pro for free). This got rid of any dups ONLY on my phone. iCloud Contacts still has dup's.
It's been 3 days now, and I have not had any issues with my Google contacts being deleted to the Google trash bin. It was a total pain to do - but so far it seems to of fixed the issue.
I sure hope this helps others out!