I suppose happiness could be a contributing factor, although there is already the rioting to encourage rulers to keep their population content. I would suggest that as soon as a city is rebelling, every unhappy citizen creates one partisan unit, or the ancient/medieval equivalent (warriors/pikemen?). That way the usurper can take advantage of those people who don't like the current ruler, and maybe even create a force large enough to overturn several nearby cities, much like an organized revolution.
As for a local ruler not having a reason to rebel if the population is happy, I don't know about that one. Some think that it is better to reign in hell than to serve in heaven, and those would be likely to want more power if they can get it. Also, the city still produces shields, and if the local ruler rebelled, they'd get to control what those shields are to be used for. And most cities prodcuce both corruption and regular trade, and the local ruler might want all those little trade arrows.
I don't think losing your capital would cause a tremendous upheaval though, since you can build a new palace in just a few rounds. Meanwhile the corruption might be high, but since a decent sized city can cost thousands to bribe, it would probably take a great many turns of high corruption to have any actual effect. Although, if there are several cities around the capital that have already accumulated a lot of corruption, and also cost an even higher amount of gold to bribe, maybe the fact that they're not close to a capital anymore will make them suddenly drop in bribe cost, turning them all at the same time. That would be kind of like the good old empire splitting from Civ I