Quaranteening areas is probably the best method. However indeed, it can be quite tedious. But if you don't make gaps, the spreading biomes will reclaim those areas again...
You can try to fight crimson & corruption with hallow to some extent. In the current playthrough, I used holy water to save my desert town from the crimson side of the V that spawned right though the desert, and that town would been lost in a day or two. later dug some barriers around, and clemtaminated the surface again, but that wouldn't been possible at the start of hardmode...
of course, hallow will override the biome too... although it seems that pylons and towns still work. but indeed, it would affect town NPC happiness.
besides purifying and
quaranteening (by the way, instead of mining, bombs and TNT works wonder creating a barrier quickly. XD)
side note. spreading biomes only spread if there is any corruptible block in 3 block radius. (except in grassy areas where thorns can reach farther)
gaps can be filled with non-corruptible blocks too. clay...? yes, sure, but instead of the rare and valuable clay, there is for example granite you usually have several stracks lying around because mobs drop it. it's also non corruptible. aaaand, dirt! as long as there's no grass, dirt is a non-corruptible block, and, well, you usually have lot of it anyway.
you can also place stone on the bottom of areas where vines would grow, even if it gets crimsoned/hallowed, stone does not grows vines, so it might be easier to deal with, like it won't spread the biome to the area below. also, unlike hallow and crimson, corruption has no vines to begin with...
But, there are other things too!
Suflowers. they are good if the evil/hallow spreads on the surface. ...but if there are grass patches or stone/etc. deposits under, the evil/hallow will bypass under it...
However, there's another intriguing thing, clorophyte! it works wonderful in the underground jungle, protecting its vicinity from evil biomes. this is why the underground jungle usually stays pure, even if evil would eat up the surface...
I didn't tried it yet, but I wonder if player-placed clorophyte works the same? and if their protecting "aura" works on the surface too? if it does, then it would be one of the best ways protecting areas, with relatively little effort (in comparison of digging a big trench)
I don't know though if it works against the hallow too, or only against evil.