Question for current employer field
This will always be an issue if autocomplete isn't an option and you're dealing with user input... they will never do exactly what you want or expect :).

I think the solution will somewhat depend on the size of your organization. For our operation (events under 3k people), we display a non-editable field of Current Employer in our event registration profile so someone can see what we have on file but cannot touch it.

Just under that, we have a plain text custom field called employer update with some instructions. If they need to update what we have in the database or if it is empty, they should fill it out.

Before each event, our membership manager (or her intern, or a script but this org has lots and lots of 'special snowflakes' so I wouldn't recommend it in that case) goes through the registrants and updates people who have the "employer update" field filled in, and clears out that field as they go.

This prevents a massive number or organization duplicates from being created.