Normally Halbs is an easy to beat unit, actually every civ has an easy counter to halbs, the problem are the ranged units and paladins, those are harder to counter in open map scenarios or once an advantage was built, the main reason is their speed and raiding capability followed by unit strenght, that´s something you can´t really counter rather than with keeping track on game proper anticipation and late game walling.
The issue is units are weirdly used to their maximum capability on random games so paladins directly figthing paladins is something you just see but shouldn´t, if you built an advantage(for example on a TG) and you managed to get a proper number of paladins, confronting your opponent might be good but going to raid other weak point outpositioned players is much stronger and game finishers while you simply can´t do this with Halbs, at the very best you will be running behind units, or chose to attack and get easily pushed back by ranged units and properly targeting rams, any scenario where halbs end up eco pushing opponent due to mistaken army composition can happen, but still believe halbs are fine the way they are.
Mangudais, Plumed archers and a couple of UT´s and units costs are the biggest problem of this game. The rest is actually as balanced as it can get considering the diversity.
There are many more imbalances in AOC than those 2 units and a few UTs.