I think you're really missing the point, here. Consider this situation.
1. I'm suzerain of A.
2. An opponent is suzerain of B.
3. The opponent declares war on me. A joins the fight on my side, B joins the fight on the opposing side.
4. This is a defensive war. I don't have a few thousand Gold saved up to levy A's military.
5. While I'm defending against my opponent, A goes and conquers B.
Of course, I could dedicate units to surrounding B so that A can't get to it. And sure, I could always have a few thousand Gold saved up, just in case. Or, maybe I could have a bunch of Envoys in the bank to steal B from my opponent. Etc.
But, come on. Who does that? Realistically, there's not much that I can do to prevent A from conquering B in this case if A has the better military.
Anyway, one city state razing the other happens rarely enough that I don't actually much care about it. I'm just illustrating the point.
In the original post, the situation was a bit different. An opponent has conquered a city state, making it no longer a city state. Fine. Then, the player's city state allies conquered that city and, instead of liberating it to be a city state again, they just razed it. So, no more city state. Sure, the player could have levied the militaries of every city state that he controls, but again, that's not reasonable.