Having a user with the same email as their business causes multiple problems. Until this is solved, can you add a note on the registration pages to use a different email from their business? This way their info won't overwrite their business data.
You should probably check for duplicate emails as well before updating the data so that even an unsuccessful registration doesn't overwrite business/contact data as it now does.