The Contact Name Cleaner is a beautiful App to Reassign your Contacts first name, middle name, last name or company fields. Make your settings and press start.
You will get asked what to do with each fragment of the selected fields. E.g. you have a contact with first name "John Doe", last name and other fields empty. The App asks you on each word of your contact in wich field to reaissgn this word. In this example case assign "John" to first name, "Doe" to last name.
Check the settings, do a "dry run" so your contacts don't get touched (just to check the workflow of the App) and start cleaning your contacts names.