My army composition really depends on the faction. A general rule of the thumb, however, is one ranged unit per two melee units and an even number of melee cavalry, positioned equally at the flanks, if possible both heavy cavalry for flank protection and shock attacks and light one for killing the enemies´ ranged units and chasing routers. I seldom use more than two ranged cavalry units, as they need a bit too much attention for my taste. If I can, I also add some, usually beween two to five, onagers to my army.