"Is the 50% riot threshold too high?"
Good question. Depends on the ratios of each team. If this is in addition to the lynch, I think 50% is fine. Consider that although the riot-vote is "private", people may publicize it anyway (unless you forcibly disallow that). "Vote GideonSeymour. Rioting Pyure." Your riot explanation says "and cannot be publicly seen" can be interpreted as either "you're not allowed to publicize it" or "is private so don't worry about it being seen."
Add the bolded for clarity:
"The torturer learns the roles of anyone detained {by the Policy Constable}. If the Constable dies, the torturer is promoted to a Police Constable."
Clarify how this works:
"Protects one member of the Oligarchy each night from non-riot actions. Any attempting an action will be detained, preventing actions the following night."
Can you re-word this? It currently makes no sense. I think you want to say "Anyone attempting an action against the protected person will be detained,...". So if I protect VikeStep, and RJS-the-Scout looks at VikeStep, RJS will be detained, his actions will be blocked, and the Torturer will learn his identity. BTW: that's pretty buff.
Coroner: "While the Coroner is alive, roles are not revealed on death"
This Coroner role will make the game almost impossible to play for resistance/populace. The only counter-balance to a "wolf" conversation is that the "villagers" can infer things from what happened the night before. If they can't learn anything, all their actions are random and its just a diceroll until the game is over. Seer-type roles are irrelevant in this balance.
And this problem is exacerbated further by the fact that he can also be protected from "riots" by the constable every night.