I disagree. It’s a cheap solution that makes for a bland game. “Let’s balance it by giving everyone the same tools”.
No, they need to improve AI and autocalc. Battanians should not be cavalry heavy.
I kind of feel your overthinking it.
Remember this game is singleplayer which means it is supposed to revolve around the player. That being said, in a perfectly designed world revolving around the player, each faction should be pretty equal in power and have an equal chance of winning or losing. That being said, for AI vs AI scenarios, the best solution would be just to make all things equal and ensure that all factions could recruit about the same ratios of troops. For variety you could have different ratios of troops but then you would want to weigh them differently. For example a faction without Horse Archers might want their archers to count for more in autocalc than archer alone would count for the faction with Archers, this to compensate for the lack of horse archers. You might even want them to only count for more when facing a faction like the Khuzaits or even Aserai that use a lot of horse archers. This is all behind the scenes stuff stuff happening ONLY when AI vs AI is going on. This ensures that the factions are on equal standing so in this case, balancing by giving everyone the same tools is the perfect solution. Again AI vs AI autocalc only, just to keep it all equal between faction so one cannot dominate over another. This has no effect on the player other than preventing snowballing because one faction has horse archers and others do not.
Now there should be a different calculation for AI vs Player autocalc where perhaps army composition it taken heavily into account. I mean army comp of the player is as much a strategy as using formations and tactics. Obviously in this situation cultural differences should have an influence on the autocalc results but not necessarily the same balance as a player fought battle. Rather it just has to give you fair and reasonable autocalc results based on your army composition and that is it.
Then of course you have normal battles where the actual unit's actions and performance combined with the players interactions and performance would determine the battle outcome. This would need to have its own balance and this is where things like Battanian's having access to good cavalry while only having access to archers in their noble line would come into play.
My point is there isn't just one balancing method that works for everything. Much of what you want to accomplish for balancing would depend on what results your trying to get out of that particular aspect of the game.
To summarize, AI vs AI you just want everything even and equal with no one faction standing out. Basically simple 1+1 = 2 sort of balance regardless of anything else. Player vs AI simulation you want a player's army comp to matter but outside of this you want a similar result result to AI vs AI autocalc, just something fair and balanced. Player controlled battles, you want the individual units combined with player interaction to be balanced against the AI's units and its interactions.
I would even go as far as saying, even in a Player controlled battle, you might want to give the AI advantages behind the scenes out of player view to compensate for its limited flexibility, just to make the game challenging.