I know everyone wants to keep their data normalised but big question is HOW?
Below are the some steps which may help you:
1. Use mandatory fields in the form at-least which information is necessary for your business.
2. Your form should not be too long
3. Use hidden fields in the form to auto populate the information such as country, product / business tag
4. Use inferred field to normalize country, city etc.
5. Use flow steps to update the lead information
6. Implement email address validation rule for email address field so that no-one can enter invalid email address
7. Last but not least, we should do audit of database on regular basis.
Please feel free to add something or correct me if it's not best practice.