Conquered cities absolutely require that you garrison LOTS of strong units until the resistance is quelled.
I'd say for every resister in the city you need AT LEAST 2:1 units v. resistors, but 3:1 is definitely better. Unless you've conquered a baby city of 2 or 3 foreign citizens early in the game, get ready to take 3 or 4 turns, perhaps more, to quell the city. I talking about a good size city with 7 or 8 resistors or so. There simply is no substitute for lots of units, and . . . patience. No other way.
Types of Units to Garrison: As strong as you've got available. I find it is ok to use injured units -- the fact that your units are injured just doesn't matter. It's the NUMBER of units that matters. So, you better invade in the first place with a lot of strong units if your war occurs in, or past, say, industrial times. Because you've got to garrison lots of units per resistors to avoid the defection problem (which as you suggest, is a pain in the ass requiring you reconquer the city, plus you lose your garrisoned units). Invasion with lots of units is simply a cost of waging war.
Rush Buying: Rush buying temples, libraries, etc., is swell -- except for one or two little problems. First, you can't rush buy while the city is in resistance. Second, you can't rush buy when the city is in civil disorder, which can happen in a conquered, but quelled city, if you're not really careful coming out of resistance.
Spin-down to 1 Citizen: This is certainly a tip that works. The strategy guide also talks about starvation spin-down. But I starve a city down to its roots only as a last resort. Hey, it takes lots of turns to rebuild the crushed population with your own citizens. So I generally use a hybrid of the starvation spin-down. Here's what I like to do instead:
Stavation / Worker Strategy: First, you've got to get the resistance quelled. Period. Even during the last remnants of resistance, pull the conquered population off work assignments and make them into entertainers. When all the foreign citizens show "happy," even though the rest are resisting, then make at least one extra entertainer in anticipation of resistors becoming quelled during the next turn. If you don't make extra entertainers, then your conquered city is likely to go into civil disorder when the last of the resistors are quelled, thus wasting an additional turn.
Of course, starvation almost inevitably occurs when this method is used, but hey, war is hell. Better them than you.

Also, a city will not fall into civil disorder as long as happiness reigns -- even when the city is starving its butt off. Counter-intuitively, city happiness is not a function of, or related to, starvation. So let'um starve.
Once I get the city quelled and civil disorder is avoided, then I analyze whether the conquered city needs more "help." What I do then to "save" population, especially during later age conquests, is to rush buy workers. Worker rush buys are really cheap. I'll rush buy a few workers per city, and THEN I'll think about rush buys on temples, libraries, etc. First, I want to work on population control.
Now the problem some would complain about with my strategy is that you've got all these lazy foreign workers lolling-gagging around. It's a valid criticizism because as foreign workers are captured or created, they just don't work like the workers of your own civilization. So what to do?
What you do is this: Go ahead and create the lazy foreign workers out of your captured cities because what you're really doing is "saving" the city population in the form of workers for reintroduction into the city in the future. Put their lazy butts to work making railroad, irrigation, etc., even if it does take them twice as long to get the job done as your own civ's workers.
Then after your captured city creates one or more of your civs' citizens, rush buy another worker. If the captured city has created 1 or 2 of your citizens, then the worker produced will be from your civ. It will be one of those hard-working, upstanding indigenous workers, not the lazy boys from the captured civ.
Now take your foreign worker that you saved from the conquest and move him back to the conquered city. Press "join city" and viola! The city population increases, and you conquered but saved much of the foreign population.
Another variation of this gambit is simply to join the foreign worker into one of your own civ's cities, where he's totally subsumed by the sheer numbers of your own city, and rush buy a worker from you own city. Then you can move your own citizen into the foreign city, thus stabilizing the captured city even more.
One thing is for sure: whether you're at war or peace, you always want to get rid of foreign workers as soon as possible and replace them with indigenous workers by using the "join city" method. You'll get a whole lot more mileage out of your workers this way.
Comments / criticisms of these thoughts requested & encouraged.