I usually leave enough room between my cities so that they have the option of growing into large cities. Also, this reduces the threat of invasion because the distances are so large through my empire. The way I play, I make very few improvements to the land. In fact, in my current game, it is past 1600 and I don't have a single mine. Republic and Democracy celebration greatly reduces the need for irrigation (at least if you are on the ocean or have a fair amount of grassland), so I don't do much irrigation, reducing the pillage threat. The enemy civs don't usually pillage roads, but before engineers they take too long to be worth building in quantity anyway; if you want quick transportation build a ship.
Essentially (until the late game), I fight wars with settlers and gold. Constant expansion and bribary. Constant expansion is good even if you don't go to war, and bribary costs you nothing more than the building of the diplomat if you don't actually have to use it (not to mention that you don't have to be at war to bribe units, making it easier to get rid of them). If you lose a city, it will be small and easy to bribe back, and might even come with a unit or two. Furthermore, you can usually get a cease-fire or peace after taking or losing a city. Moreover, defence is rather ineffective in civ 2, because attack values are so much greater than defence values in most cases. An effective defence of a city requires city walls to give your units fighting chances, but walls cost the production of 2 settlers, which give more cities, reducing vulnerability. I usually only employ permanent defensive units in locations close to enemy civs, where expansion in that direction is impossible and preferably on good terrain (likely with fort) instead of inside cities.
Basically, don't build many defensive units except near other civs where bribing becomes cost prohibitive. If you can expand in a direction, don't worry about defence, because it will cost less to buy a diplomat or two if the need actually arises and then to use them for bribary, etc. As a matter of fact, if you want to expand in the direction of a civ, build one or two cities close to them, build their defences, and let them be the targets of the enemy cives while you fill in the space in between.
I think I've gone on long enough for now...