So, I tested one full game and I must say I like very much the decoupling of uprisings and loyality.
But I noticed something strange because there are plenty of revolts, but they never seem to have success.
I'm not sure why but one time I saw this:
As you see there are 3 land units spawned but only 2 are counted in the tooltip.
Also probably the number of turns for success should be tweaked because i saw up to almost 30 turns for the siege to end and this basically means it will fail no matter what.
On the other hand the continuous revolts are a bit tedious to manage, especially if you have lots of cities or if you are going for some war and you keep getting barbarians everywhere because you are triggering revolts in the cities you conquer and also the remaining cities of the enemy.
So basically my suggestion is: maybe less revolts but more impactful?
For example separatist revolts could flip more nearby cities and put the new civ at war with you with some free units (also because new civs seem to always be very weak and don't last long), religious revolts could spread to nearby cities if not quelled and you could end up with your entire country converted, war weariness could force you to make peace, government revolts could force a change in government etc...
I don't know if this is the direction you have in mind for your mod so maybe the solution could be to tweak the numbers, for example by reducing the turns for success and spawning more strong units. Maybe even auto destroy city defenses in the sieged city, in 15 turns you can kill a lot of units just by bombarding from city defenses.
Also keep in mind this is a result of only one game, maybe I just saw the worst case scenario. I will try another game soon
(Ignore the -393 from distance, that was just me fiddling around with your code because I wanted to see if I could get a revolt to find out what was wrong

)