I wrote a TLDR post about several balance issues and some possible solutions, here's the short version, with more detail below. I am really enjoying the game, but find that the mid- and late-game need improvements still.
Issue: Units are effectively useless right from training because of low hp at level 1
Possible solution: Trained units start with xp based on what equipment they're trained with. Idiots with clubs = level 1. Knights in magical equipment = level 5 (as an example - adjust levels for balance)
Issue: Defense is very expensive, making most units into glass cannons
Possible solution: Add defense to most weapons, representing the ability to parry. Possibly modify this with dexterity, but that adds complication
Issue: Idle heroes mid-game after wandering monsters have been eradicated, limited supply of XP
Possible solution: Allow heroes and their armies to embark on randomly generated quests that immobilize them for a few turns but offer something to do each turn (a battle, a decision, etc) that lets them level
Issue: Cities are incredibly easy to conquer
Possible solution: Choke points to simulate walls, more, better, and ranged militia
More detail:
Issue: Units are effectively useless right from training because of low hp at level 1
Units, right after being trained, are effectively useless. I'll often have them stand in the back of battles because they're too valuable to waste but too vulnerable to use until they've gained a few levels.
A level 1 unit will have approximately 6 hp (it could be as high as 8 or 9 with constitution buffs and traits). Here are some units that I put together (with base stats, actual values might be slightly different for different kingdoms / empires)
Clubmen
Hp: 6
Cost 35
Axemen
Hp: 6
Cost 70, 2 metal
Broadswords (Chain, Shield, Broadsword)
Hp: 6
Cost 135, 15 metal
Champions (Full Champions armor, Boreal Blade, Horse)
Hp: 7
Cost 320, 20 metal, 1 horse, 34 crystal (approx values)
The production cost of the unit is growing exponentially (35, 70, 135, 320), but the base hp is almost exactly the same. Anything that can do 7 damage will kill a champion that took several turns of production and many turns worth of metal and crystal to produce.
A potential ways to remedy the hp issue could be to add xp gain into each piece of equipment. The idea being that, while you can hand a peasant a club and say "go smash", you don't put that same peasant in champion plate armor, give him a horse, magic items, and a magic sword and say "stick them with the pointy end". Leather armor might give a couple xp a piece to start the unit at level 2, chain level 2.5, plate level 3, and champions armor level 4. Additional magical equipment or mounts might add xp as well. So the the above champion might be trained at level 5 and have 25 hp - much more survivability than the grunt with a club and 6 hp, as it should be.
Issue: Defense is very expensive, making most units into glass cannons
The other problem, the high cost of even basic defense, could be remedied by adding defense to weapons. Even a club can be used to parry, and a staff is even pretty good at defending attacks. Some attacks might be flagged as unparryable (some of the larger monster attacks for example). Potentially, this could be modified by dexterity - faster units are better at parrying - but that adds a lot of complication and might not be feasible.
Issue: Idle heroes mid-game after wandering monsters have been eradicated, limited supply of XP
This may be because of poor AI, but I find myself, usually mid-game, just hitting end-turn a lot while waiting for my cities' level 3 improvements to build. I could go eradicate all of the AI's with my sovereign, but I want to build an empire. This leaves most of my heroes stuck in place with a defensive army, doing nothing for 30-40 turns.
Additionally, also mid-game, my heroes stop leveling because I've already wiped out all of the monster lairs in or near my territory. When I improve recruiting and get all of the level 7 or 9 heroes, there aren't enough monsters left for me to level them on, and leveling on AI is impossible - I can wipe out an entire AI civilization with one hero + army on the most difficult setting on the largest map and barely get enough xp to go from 10 to 11.
Two part solution: near-unlimited recruitment of level 1 heroes (maybe from the Inn?), and the ability to go on random quests in my own territory (or in the wilds). I'd much rather be able to recruit level 1 heroes and level them to 5 or 7 or 9 than I would recruit a level 9 hero. The ones that started at level 1 are my heroes - I shaped them, I know them. The ones I recruit from the map are some idiot that has a really cool mount but is otherwise foreign to me.
Second part - the ability to do some kind of local quest that will gain them xp, maybe an item reward, maybe find a new tile improvement, or something like that. An example might be: I have a level 4 hero with a few spearmen parties. I choose to send them on a level 5 quest in my territory. The army is immobilized until the quest is completed. My hero is following rumors of a magical spring, and, every couple turns, finds himself in random combat, Eventually, he finds the spring guarded by an earth elemental that has jammed a rock to stop the flow. Killing him clears the spring and causes the land to bloom, creating a patch of fertile ground that can then be harvested by the city.
Possible rewards for these things include:
The standard stuff - Gildar, Items, XP
Saving a group of people who join up with your nearest city
Tile bonuses like fertile ground, apiaries, iron mines, shards, etc
City bonuses - maybe you help a master smith who goes to live in your nearest city and improves production by 2%
Issue: Cities are incredibly easy to conquer
Cities are jokingly easy to conquer. Even if they're garrisoned with a lot of troops, those troops have tiny bonuses. Cities, especially cities with walls and decent garrisons, should be a major endeavor to conquer. Lacking the ability to put troops on walls that need to be knocked down, some improvements could be:
Single-unit-sized choke point(s), and maybe the choke point(s) offer an offense + defense penalty (to simulate trying to scale the walls)
Ranged attack to-hit penalty to units not on the walls (nerf bows and magic attacks firing at units behind walls)
Militia with decent equipment and some levels, especially for high city levels - those should have a garrison, not just militia
Militia / Garrison with bows (if researched) to chew up the attackers stuck behind the choke points
Catapults (if researched and the building is in the city) to rain death on attackers
The main problem I see with this is to make it so that the AI can conquer cities and won't just fail because conquering cities was made more difficult. On the other hand, the AI will typically have several armies and might be able to wear down a city.