This isn't really a solution, though I would imagine there are a few ways to go about this. If you use Salesforce, once a lead becomes a Contact, it gets assigned to an Account name, basically making all Contacts have a standard name (whatever you name the Account). However, the trickier part is with leads, as they can enter your system from any number of inputs, and until they're converted to a Contact at an Account, their version of "company name" is almost always different... so you might have 10 different versions of the same company name in your system.
In theory, you could create a smart campaign that said "any time a lead is created with x-qualities (versions of company name, or has xxx in their email address), then update the "Company" field with whatever your Accuont Name value is (Or, don't use the "Company" field, and develop a new Custom field that would apply just to your preferred naming convention.)
Your note caught my eye because we're playing with a field called "Friendly Account Name" that we can assign through single flow steps to all leads and contacts associated with a company (based on variations of a company name, email address, etc.). In short, we wanted to use this field as a token, to help personalize emails from time to time... just using "Company Name" wasn't going to work for us, as many of our formal Account Names (that fill the "Company" field in Marketo) feature a more formal version of the Company name (eg.: "Marketo, LLC") - and that wouldn't work in an email with a conversational tone. So, we've created "Friendly Account Name" to help standardize less formal versions of company names... the trick to this will be to develop smart campaigns to help auto-police/clean the field and to always review the field data prior to using it as a token, to ensure its accuracy.