Alright, a few comments:
When the first barbarian civ spawns, there's usually 1 AI that is lagging a little in tech. So, the barbarian civ gets 60% of the lowest teched AI by default, which is hardly enough to compete. The next barbarian civ gets 60% of that, and the next barbarian civ gets 60% of the previous barb civ, ad infinitum, so the barbarian civs spawn farther and farther behind. This gets offset a little bit by the builders getting a few bonus techs, but it's not enough to put them up to parity.
To remedy this, I gave barbarian civs 100% of techs known to all civs, so that the problem is less pronounced. I also raised the number of bonus techs to 12 or 15, and although that sounds extreme, it doesn't really seem broken in the few games I've tested it with (and the military barbs have their strengths raised from 1.0 to 8.5 or so... it's lots of fun). Anyway, I just thought I'd point that out. I know many people may not like it, but perhaps you can add an option in the custom game screen for the barbarian civ lethality - levels like Pathetic, Annoyance, and Lethal.
Anyway, that was just a random thought. The main reason I posted was to make another suggestion. I'd like to be able to control the order that the game selects barbarian civs (with or without some noise), and I think this suggestion captures a way to do just that. When the game spawns a barbarian civ, it can do a check for which unused civs have a unique unit that fits into the tech area that the world is in, and spawn one of those civs. So, a barbarian civ to form in the ancient era will choose a civ with an ancient UU. This makes sense from a historical and a gameplay perspective. In game terms, this means that it would be rare to spawn a civ who would not be able to use their UU - for example, when the Babylonians spawn in the medieval era, they'll never get a chance to use their UU, while the Spanish who spawned back in the ancient era didn't get to use their UU right as they spawned.