Vassalage would be great for ciV, in name anyway. I always miss vassal states everytime I liberate a conquered civ's capital, and they're eternal grateful to me...scratch that, they're eternally guarded instead...WTH? The only benefit (aside from the supposed lower happiness and buffer zone, which technically have nothing to do with the act of liberation anyway) is the perma-open border with that revived civ.
One way to make it slightly more reasonable is to turn said liberated civ into a city state, with a very high influence score (to simulate the vassalage), that way there's no need to add an extra mechanic. Maybe if they change the CS mechanics so that being allied with them also grants you 5-10% of their gold income, and the more cities the CS has (such as when it conquers another CS), the faster your influence drops, to simulate a resistance to cultural assimilation, and not have the CS burn cities it captures.
As for colonies, we really just need an option when we settle a city that we can choose to have it a regular one, or a puppet, and change puppet building priority for defensive buildings to be lower, something like gold > growth/happiness > science > production > culture > defense (completed in this order in each tech tier then cycles back to the first), that way, you can have puppets, but it'll take them a long time to get up and running, making a direct-controlled city far more powerful/efficient.