I usually make a judgement call once the city's done revolting, based on how good of a strategic location it is. If it's not in a spot where I say, "hm, I've got a specific plan for this city," then I'll just puppet and let the AI do its thing, or raze if it's too close to a better city or has...