It's simple: increase the size of the starting armies (where there are no machines) so that more powerful machines don't give such an advantage.
It's not a bad idea, but unfortunately, it's not that simple.
The size of the starting army for heroes is tied to their specialization, and changing the specialization is a direct path to modifying the game's executable file. In general, this goes beyond the scope of the project.
Of course, you could process all the standard maps so that at the start, the script gives heroes who specialize in machines additional creatures to their starting army, but that would be quite a hack.
Another option: give machines not immediately, but upon reaching level 2 (for example).
Again, this can only be implemented through a script-based hack.
---
The compensation for the loss of starting machines for heroes should work on all maps, including fan-made, player-created, and generated maps, etc.
Therefore, you can only work with stats, spells, perks, and skills, as they are the only things that work everywhere, regardless of the map's origin.