I am fairly new as well but I seem to maintain a decent rate of expansion so I'll share my method.
1:As counterintuitive as it may seem, buying off cities rather than attacking them seem to save money in the long ru. Even if I don't have enough money in the curent round to buy the alliegence of a city, I wait until I make enough money to buy rather than attacking it. The reason I do this is because when you buy a city you immediately get whatever units were garrisoned there. This allows you to get through a significant portion of the scenario without producing units.
2:I tend not to produce untis until pretty late in the game. I am extremely careful about casualties and usually do not attack unless I am fairly certain that I will not lose any units at all. When a unit becomes seriously injured in battle, I immediatley heal him or retreat him. I don't use any tactic that would sacrifice one of my units, even a lowly swordsman. Saving units in battle means that you won't have to buy more later and you will have more experienced units for the late game
3: In keeping with my spartan-like early game strategy, I don't upgrade or install cities in the first half of the game. I do fortify cities religiously, however. I quickly learned that if I did not fortify cities, they could be taken by any old schmoe who happened to wander by.
4: As for waiting on cities to migrate, I get pretty annoyed with that as well. I usually keep a reserve force of a few swordsmen that I have picked up and use them to garrison the cities that my hero stack has just taken until the city has been migrated.
That's the method I us4e, humbly offered
-B