My army tends to get destroyed because the units go on long treks after individual enemies, even villagers (25 hit points, the weakest of all units). For example, the army may split to several (non-organized) groups, all of which get quickly killed leaving vulnerably units exposed.
You should change the stance of your units. There are 4 stances:
- Aggressive: units will wander without limitation as to range until they've killed all targets in range.
- Defensive: units will attack any unit in range, and will follow for a certain no. of tiles before returning to their original position.
- Stand Ground: units won't move to attack but will attack any enemy in range.
- No attack: units do not automatically attack unless ordered to.
Units' stance is aggressive by default and changing stance to defensive will ensure that your entire army doesn't run away. You can change the default stance of your units in advanced settings.
Further, if you select a unit say a bowman and press alt while changing stance to defensive, then all bowmen will have their stance changed to defensive including new bowmen that you may create.