The thing that is not being considered here is the possibility of giving overlords *of* vassals the ability to promote them into full allies. This solves much of the problems vassals cause when combined with the ability of powerful vassals to rebel against their overlord by declaring war.
If a vassal gets powerful enough it can end it's vassalage by declaring war against it's master. But the overlord can, at any time give a vassal of any strength the status of full ally but the AI would only give that status to vassals powerful enough to declare war on them. That means a weakened overlord might avoid their vassals declaring war on them while they are temporarily weakened and the vassals have a genuine choice, whether to aid the faction that is defeating their overlord by declaring way on them or demand promotion to full ally and turn things around *for* their former overlord.
If a vassal gets powerful enough it can end it's vassalage by declaring war against it's master. But the overlord can, at any time give a vassal of any strength the status of full ally but the AI would only give that status to vassals powerful enough to declare war on them. That means a weakened overlord might avoid their vassals declaring war on them while they are temporarily weakened and the vassals have a genuine choice, whether to aid the faction that is defeating their overlord by declaring way on them or demand promotion to full ally and turn things around *for* their former overlord.