Messy situation. You've got Salesforce CRM connected which means if you have chosen to synchronise Contacts, Accounts, Leads and Users they are all in your AllContacts table with their Salesforce ID's.
If you have been sending to your contacts by using Email Address as Subscriber Key, then they are added as fresh/unique Contacts to AllContacts table with their EmailAddress as ContactKey.
You have a couple of options, but each have their own severe downsides..
- 1) You can choose to delete Subscribers with EmailAddress as ContactKey, but this means you will lose all tracking history and their preference statuses (AllSubscribers, Publication Lists, Mobile OptIn Keywords etc)
By doing this you will also need to start using the proper Salesforce ID's as Subscriber Key, so on Person Accounts and Contacts it would always be
PersonContactID, for Leads it would be
LeadID and so on.
- 2) You can choose to delete Subscribers that are from Salesforce - essentially disabling the Marketing Cloud Connect, as in this case you will not be able to use any cross-cloud features in Journey Builder, send tracking data to CRM, use cross-cloud AMPscript and use Salesforce Data in Contact Builder.
Anyway, these days Populations are not needed if you are working with Salesforce CRM Data and you have the Synchronised Data Extensions in place.
Assuming you don't have any external systems feeding other, non-CRM contacts to Marketing Cloud, then in your situation I would:
1) Export subscribers tracking data and subscription data out of SFMC
2) Remove any/all Populations
3) Update CRM data with the subscription data (opt outs etc)
4) Delete all Subscribers with Email address as Subscriber Key
5) Utilize Synchronised Data Extensions and the CRM data model
6) Use Journey Builder with Data Extensions where the SubscriberKey is the ContactID/LeadID (18 digits) in all future sends.