Auto-translated
Judging by the fact that, statistically, 4 out of 5 waves can be cleared on the first attempt by experienced players, and the only exception is related to a custom unit with slightly increased initiative, the balance is actually quite good.
However, there is, of course, a formula for victory, but it mainly depends on the global map and the correct actions taken on it. After all, if the global map is well-designed, it suddenly turns out that the player has more stats and a large army, with the option to replace losses, and the Hive is overpowered. In a way, this map is about Summoning. It's no coincidence that the player is immediately given it with several hints. And the ability to boost magic to absurd levels on Khorn's side. You can, of course, try to do without it, but it will be more difficult and even more random. And randomness cannot be eliminated. It is present in many mechanics at the core level of Heroes 5. Without it, the game is elementary.
So, the only problem with the later waves is the not-quite-balanced angels. And the enemies don't have a huge amount of hit points and stats; they only seem large if you don't compare them to what the player has according to the author's design. No, the AI has more hit points on Hero and Veteran difficulties, but there's a simple formula based on the current week