Right now aside from Command allowing bigger armiy caps, there really isnt anything Heroes do for a player outside of combat. I feel as though Heroes should have their presence felt within your kingdom. Instead of having the generic avatar of some Hero that you don't care about being your face in the world, galloping around as your face, the player should be able to choose any hero that they own to represent them this way. This can be started by adding a new area to the players City - the Throne Room. From this area they could affect the following:
Two positions should be open to place Heroes in: General and Minister. Heroes would each receive two new specialties, one that would take effect if it is placed in the General position, and the other for Minister.
When Avalon is the minister of your kingdom, your army cap is increased by 100. When Avalon is the General of your army, your ranged units have their ranged attacks increased by 5.
When Vega is the minister of your Kingdom, your hospitals heal units 20% faster. When Vega is the general of your army, your units morale degrades at half speed.
When Vallari is the minister of your kingdom, you have a 10% chance every hour to discover an energy potion. When Vallari is the general of your army, fire damage will be increased by 20%.
When gazul is the general of your armies, your units that die in combat have a 15% chance to be reanimated as lich units of the same rank/level. When Gazul is the minister of your city, attacking armies will suffer increased morale decay of 20%.
The general would become the sprite/avatar that represents your army in the world as it moves about, and the minister's face would become the picture that is viewed when looking at the players city from the city screen. The same hero cannot be chosen for both positions.