I don't think you can EVER balance cavalry properly by only changing their stats.
First of all you need to take into concern two things while balancing stuff: first of all, you have to be sure that all classes on the server have the same average strength, which means that there must not be a class that's easier to play or more difficult to play, because this would be unfair. "But you can make a class that's difficult to play more effective, once mastered". That's right, but this is only balanced in single player, not in MP. It's fair for the particular players who invested a lot of time and effort to master the difficult class, but on the other hand every good player who would want to maximize his performance (and many do) would end up with this class, making it overrepresented and too dominating on the servers. On the other hand, the "easy" classes with a low skill ceiling would be underrepresented, destroying any "rock-paper-scissors-balance", which always needs equal numbers to work properly. The logical consequence is, that all classes need to be of equal effectivity on any skill level.
With this insight in mind, you have to think about cavalry: if you take a look on the server, you can see that cavalry is not effective because they are particularly good, or the class is particularly OP, it is ONLY that effective because the other classes suck so much in fighting cav. And it's not the problem of the classes themselves, it's their players!
They listen to music (and don't hear the horses coming), they autowalk after spawning like lemmings and robots, they don't stick together, they don't evade open fields, they don't stay defensively when the enemy has more cav, and most important they are not aware of their surroundings. I think cav is the class I die least to, and I am infantry. I can't say I can block manually, two, perhaps three hits in a row, then I am usually screwed. My skills suck. Still cav often enough tops the scoreboard. So it's not my skills, that make me so difficult to kill for cav, it's my behaviour.
And unless you don't fix the average behaviour of non-cav players on the servers, you will always have the problem of cavalry seeming too weak (when the non-cav players know how to fight cav) or cav seeming too strong (when a good cav players fights non-cav players who don't have a clue of how to be aware).
You can't fix the missing awareness of their targets by lowering the cav stats to a ridiculous point. You already see what heavy cav has to suffer from, and still I can't say "buff them", because in theory, against infantry who knows how to play, it would not be OP at all, but in reality, with the amount of headless lemmings on the servers, it would allow them to wreak havoc among the enemy team.
That's the point of the whole story. Make players be more aware of cav, and you will be able to buff cav to a resonable level again. But the less brain the average cRPG player has (or uses), the more weird nerfs you will have to suffer from.