Really what we need are political parties within the fortress; perhaps a loyalist party consisting of nobles, royal guard, maybe some of the wealthier craftsdwarves/brewers/cooks as well, and a military party consisting of military, armor/weaponsmiths, and siege operators. (maybe also a peasant led party assisted by the fortress guard and mayor) By default, only the ruling party would exist and other parties would gradually form and build tensions with the rulers. For example, if we had a very large military we would quickly see several squad leaders get together and form a party which would then try to recruit more members (mostly from the military but with some probability of getting random nonmilitary dwarves); however, if there are enough royal guard, they ought to act like political police and hunt down enemy parties and either give them all jail sentences or at least remove the leader and dissolve the party (giving the military bad thoughts but avoiding political clashes) But if the party is allowed to become large enough, they should start rioting (which ought to work like tantruming, but they should avoid attacking each other) An actual coup should occur at the choice of the player to avoid annoying random periods of fortress inactivity; so anytime the fortress has more than one party there should be some option to change the ruling party, at which point the population of the fortress would split between the former party, indifferent, and the revolutionary party according to previous party size and influence, and depending on relative strengths and leader personalities the parties could battle for control or the ruling party could step down.
This gives the player a good amount of indirect control in influencing politics: suppose the fortress is currently ruled by nobility and the loyalist party has about 10 members whereas the military party has 20 members. To avoid rioting, the player could either initiate a revolution (and risk losing a few non-nobles that may side with the loyalists), they could reduce the size of the military which would halt growth of that party, or they could draft some royal guards to put down the rebellion. (I suppose a coup could be initiated at some threshold of party size rather than at the players discretion, which would seem more simulation-y, but might just be annoying)