I did some research over the weekend at the library... I went to look up books on uprisings, revolts, rebellions, insurrections and any other trouble the people manage to get into. There's a lot of books on the subject, and the search continues, but I managed to bear some fruit...
The book I focused most of my attention on discussed revolts and uprisings in medieval Europe between the late 1200s and early 1400s.
Apparently, revolts and uprisings were quite common there at this time. They were also frequently successful.
Revolts essentially happened for a number of different reasons:
Famine
Now, some of these would require much more expansive changes to the game than what jdog could provide for us in this mod alone... but famine was one of the ones I thought would be interesting to pursue.
See... this was one of the things I never understood about Civ. The citizens complain and riot because of overcrowding, but they seem to be cool with starving to death... Starvation ought to be the time when people really start making a ruckus!
Now, interestingly enough, bread & grain riots, in spite of wide-spread famines during this time in Europe, were remarkably rare... the reason was that when the issue would come up, the local leaders would fine grain from somewhere to feed the people. It often wasn't enough, but the fact that they made the effort usually kept people from rioting. Had they ignored the pleas of the peasants and the bourgeois, they could've had revolution on their hands as the French monarchy found out the hard way in 1789 after a particularly bad harvest of wheat.
I would say then that when starvation occurs, you could have the chance to do something decent, or you could "let them eat cake" and probably have a rebellion on your hands.
Inter-guild feuds
In a lot of cases, inequalities in the system was the cause... sometimes it had to do with limited disenfranchisement... in that there was an oligarchy in place and somebody else wanted their cut. This sort of goes under the inter-guild feuding... basically, most of the Italian city-states were run by guild oligarchies, and so periodically, one group of guilds would overthrow the others and establish their economic dominance in the city.
Unfortunately, the game doesn't really allow for all the fun possibilities something like this presents, so I'd say it'd have to be put way, way on the backburner.
Social and political disenfranchisement
In other cases, it was a bit more noble in which certain peoples had absolutely no rights whatsoever within the system and they wanted equal treatment before the law.
Again, without more civics, I'm just not sure this'd be terribly useful.
Taxes
While increasing taxes was rarely the background reason for rebellion, it was quite often the catalyst... the last straw as it were. This was especially true when the taxes went toward paying for something that was already a point of contention among the people.
Again, without more changes to the game, such as allowing for tax rates (which would then determine science and culture output based on the total taxes collected) there's not a whole lot we can do here.
War
Believe it or not, people did revolt against unpopular wars even in an age of despotism and frequent war. Peace movements certainly did occur, and were themselves usually peaceful protests, strikes, etc. to force an end to a conflict.
I'd say this is fairly well covered since War Weariness already slows down production in a city, and in jdog's mod can lead to violent revolt.
Religion
While usually not either the catalyst or the primary cause of rebellions, religious riots were common side effects of rebellions in medieval Europe. And I think we all know who was on the receiving end of these riots: Jews.
Since Christianity was the completely dominant religion in Europe at this time, and the complete lack of any large religious minorities living in one region, meant that the only religious rebellions one was likely to see were Christian rebellions against the power of the Catholic Church. Among the largest and famous of these was the Hussite rebellion and the Protestant Reformation and its subsequent rebellions and wars that stemmed from the initial intellectual revolution.
But they were actually much more frequent than that and typically had smaller goals and more conventional interpretations of scripture.
However, outside Europe where there were large empires encompassing many different religious minority groups, rebellions with the intention of separating from the empire of the religious majority or at the very least gaining some kind of social equality were much more frequent.
I think we really need more inter-religious strife and this would go a long way toward achieving that little (unfortunate) slice of realism. As it stands, accumulating religions doesn't really seem to be much of a problem, and you can just amass religious buildings that stack their values regardless of your state religion or even the complete lack of one.
Dominance and Separatism
Another frequent cause for rebellion was the one we're most familiar with: objection to being dominatde by a larger empire. These revolts were usually led by local leaders but sometimes by peasants or town citizens and were aimed at throwing off the yoke of oppression as it were and becoming independent.
Nuff said... this is already represented well.
Social injustice, Foreigners, and Random Events
As distinct from disenfranchisement, it also happened that rebellions started because of perceived injustices. In one case, one of the guilds rose up against the ruler of a city-state for imprisoning one of their men after he'd murdered a man who was sleeping with his wife. They didn't deny he killed the man, but they figured he had every right to. Consequence of the revolt was that the man was released. Very limited goals in this case...
Another instance, this one involving foreigners, was caused when a French soldier in Sicily inappropriately grabbed a woman causing locals to rally to save the woman's virtue and that soldier got his come uppance... but so did several thousand other Frenchmen soldiers and civilian alike in a wave of violence and riots that spread across the island...
Both of these are instances of what I might call "random events". If these small, isolated instances had no occurred, the powder keg wouldn't have blown... still... while catalysts for rebellion, there were a lot of underlying causes that were what REALLY sparked these acts of violence
If jdog wants to keep the player on his toes
some random events causing rebellions that need to be dealt with could be a good idea... however, there should probably already be something the people want that could be used for negotiation.
Other interesting points:
Negotiation and Compromise
Perhaps the most impressive thing to me was how restrained the responses of the leaders were. Sometimes they were chased out of town. Sometimes they had enough troops to go in and break some heads. But many times, rebels got what they wanted, or at least some of what they wanted... to the point that revolt became a fairly common and legitimate means of getting concessions from the state.
This just emphasizes things I said before about non-violent means to deal with rebels... which means the rebels also have to have some kind of goal in mind. Obviously, separatists or those who just want the leader dead because of various grievances, will probably only be able to be stopped through force of arms. But there could and should be lesser degrees of revolt that can be handled diplomatically.
The Urban/Rural Rift
The other interesting tidbit was the fact that almost without deviation, a rebellion that took place in the city was not supported (and sometimes outright opposed) by the peasantry in the country. Rebellions by the peasantry were ignored or openly opposed by the bourgeois in the cities. Very rarely did they assist one another.
Anyway, this is just some of the stuff I've uncovered, and naturally, there's more to be added/suggested as I have not analyzed ancient rebellions such as Kadesh, Bar Khokba, etc. or more modern ones like the Zapatistas or something....
Also, I was thinking... since, jdog5000, you've said that you're going to optimize the code, does this mean that units will spawn regularly outside cities during revolts of my own cities like they do with rebellions from conquered lands? (They do spawn new units every turn, right? I wasn't just losing track of those that were spawned in the first place?) If this is the case, maybe we could reduce the amount of units that will initially spawn when your own cities rebel?