An effective way to disperse rioters & looters would be to send an armored vehicle in to spray them with a very stinky liquid. Is there a chemical that stinks but is not a health risk and that breaks down after a few hours, or could be neutralized with another solution after a few hours?
My vote would be for butyric acid and related short-chain fatty acids with between 3 and ~8 carbons (isobutyric acid, valeric acid, isovaleric acid, caproic acid, etc.)
In pure form these chemicals would be dangerous acids, but in dilute aqueous solution buffered at pH 5 or so, they are not very corrosive or toxic but are still pretty stinky.
Skatole could be another example. See the Wikipedia article for malodorants for some more ideas.
Already done: See, for example, Skunk which has been widely used by the Israeli Defense Forces.
Per its manufacturer, Skunk is:
A non-lethal ... deterrent [that] consists of an extremely foul-smelling liquid, with the viscosity of water, that can be sprayed over a large area using a standard water cannon.
The Skunk is not volatile, it's inflammable – in fact, it can even be used to put out fires in a pinch – and it poses no health hazard. In fact, despite its outrageous smell, the Skunk liquid is perfectly safe to consume.