there are multiple kinds of civil wars:
Political movement civil wars, your pops just want a change in how the government runs things or are happy with how things are but angry at the changes attempting to be passed (the socialist movement, radical movement, and reactionary movement are the easiest examples of this to fire for most countries) you can stop these by looking at what laws are agitating them and change those
ethnic independence civil wars, these are THE SINGLE MOST ANNOYING THING ON THE PLANET and will be 90% of your civil wars as they are entirely based on if a pop is less than T5 acceptance and you own at least one homeland of the associated group, if they are it doesn't matter how small the support is it WILL fire at some point... you can literally be one guy'd by owning a homeland state with one radical pop in it from T1 acceptance and within 200 days he will start a civil war dragging 10 states which aren't even part of that homeland simply because the ethnic makeup of those states has more of the associated pops involved in the civil war than those who aren't involved, you can stop these by going multiculturalism (the stupid choice) or go E state with no migration control and state religion then use chemical weapons when they fire (the smart choice) for a one and done war with that particular group
political independence movements, these are the rarest but usually most devastating civil wars you can face and are a sign you ROYALLY screwed up a run, if you have created such a divided population base to the point the majority are either loyal or radicals entirely based on if they support one of 2 movements then instead of a political movement civil war that just wants change they will demand independence for their own political autonomy (the slavery question is the easiest example of this) you can fix this by not letting your pops get into a binary where they support 100% diametrically opposing movements