I find a major impediment to cleaning duplicate profiles in that so many profiles exist with no brth dates. In most cases an approximate date would go a long way to identifying or eliminating a potential match. (If I knew that profile A was born in the 1680's, I would not look to match with the same name born in 1822)
Is there a way for a system-generated clean-up based on birthdate of parent, child, sibling, and/or spouse? If profile B has no birthdate, but has a child born in 1800, the system could assign a date such as: "1780's derived" We could set up a routine to run a pass based on (for example) "oldest child's birthdate minus 20 years" next pass (for those still without a birthdate) could be "mother plus 20 years" next "same decade as sibling or spouse" All assigned birthdates could be estimated by decade and labelled as derived. Any profile that has no parent, child, sibling or spouse could be purged from the database.
My opinion is that an estimated birthdate (even if wrong by 25 years is better than no date at all.
Finally, I recommend that birthdate be a mandatory input for all new profiles (even though some will need to be estimated/guessed.