Fighting the Khuzait can get nasty and requires preparation. I usually focus on imperial units because i love their sturdyness and hate taking casualties.
1) Palatine guards close to the border of the map, if possible on a hill (loose formation)
2) Legionaries towards the front (shieldwall)
3) Cavalry either behind the guard or flanking them on the opposite side of the charging horse archers
Example: (LEG = Legionaries/Melee infantry, PG = Palatine guard/armored Archers, CAV = Heavy cavalry, KHA = Khuzait horse archer swarm, KI = Khuzait infantry)
The horse archers missiles don't do much against Palatine guards, meanwhile they are getting shot to pieces. At some point they will either get close or even charge into melee, that's when i order my heavy cav to counter charge. Thanks to the loose formation they have an easy passing into the melee fight and enemy missile fire tends to be less lethal. My legionaries usually shred the Khuzait infantry without any trouble and once their cav charges my guard they are done due to their heavy armor and my cavalry countercharge. Putting some Menavlions into the mix helps a lot though.
The most important thing is: NEVER EVER CHASE RETREATING KHUZAIT!!! The Khuzait are using fake retreats, just like the Mongols did. After butchering their initial assault the power bar tends to look good due to the casualties,but in most cases there are a lot of more where they came from. If you allow your troops to chase them, they end up in the Khuzait spawn zone fast, get surrounded by spawning reinforcements and are finished. Instead hold your ground, let your infantry charge, slaughter the enemies in range and call them back. Meanwhile use your "Hold fire" command to prevent your archers from wasting their ammo on scattered enemy infantry. Their job is to shoot horse archers, so wait until enough of them are in good range and maybe even standing still, wasting their ammo on your heavily armored shieldwall. Once the horse archer blob is big and delicious enough let loose a couple of arrow barrages until they retreat, then hold your fire again.This way you essentially grind down the Khuzait until their morale breaks. Knowing how many enemies you have to fight overall helps too, so you know how many are in reserve and if what looks like a full out retreat is a fake retreat or indeed due to army losses and shattered morale. Then you can order all of your troops to give chase and hunt them down. Fighting Khuzait is tedious, but not impossible. In my current playthrough they controlled almost half of the map, but with the mentioned tactic i slowly grinded them down with an army of just about 700 good men.