Alright, here's what I'm currently doing with vassal independence.
Every vassal of another nation gets a score. This score is mostly determined by the CA of the liege:
- Autonomous - 1000
- Low - 2000
- Med - 3000
- High - 4000
- Absolute - 5000
The vassal's opinion of the liege will be added to the score (it seems DTRemenak was working on this while I worked on the rest, which is perfect, but I haven't yet taken advantage of his work).
Also, the liege's score (if any) will be added to this. This is for two reasons: vassals don't have a CA, to avoid vassals of vassals.
For any score greater or equal to the following values, these are the results:
0 - liege and vassal guarantee each other.
1000 - vassal is in the liege's SOI and there is an alliance
1900 - vassal becomes a vassal in EU3
2900 - vassal becomes a vassal in EU3 and the liege gets cores
4000 - vassal is absorbed in EU3, but cores remain
5050 - vassal is absorbed in EU3, and cores are removed
At the moment, this leaves us with roughly 1000 more countries than we have tags for, so blobification still happens. What I intend to do is try matching countries to tags, and if there are too many countries, increase all scores and try again, and do this repeatedly until it works. Of course, this guarantees tags ending up in odd locations.
What I'll do after than is provide a configurable minimum score that is added to all scores to begin with. Blobification could be forced to happen by setting this to 5050. Lower values can provide a restricted form of blobification.