I think a good compromise would be to have customizable companion personality.

A backstory/personality that is non-specific enough that can be attached to most classes/races.
Then when you create you custom companion, you simply add one of the few backstories/personalities provided.

The "banished from his village for an honest mistake/accident" might work for any class/race, "searching for lost family haierloom" too.
"Survivor of an orc raid that wiped out his village", again, works for most.

Add a quest or two for each (with appropriately generated NPC's...it would be weird if an elven mages parents were human) and you have something that shouldn't be too resource intensive, but gives mercenaries/custom companions some more depth and anchors them more into the world.