This is what Terrain Control does currently I believe. Its seriously simple and powerful. Just need to add a temperature ID attached to each biome, Like desert type biome range 7-9 or nether/lava/volcano 9-10, then set some snow biome to 1-2 and an ice biome to 0 and have a method that has a set temp range that the random number gen can choose from for neighboring biomes. So set to a range of 2, no ice biome would ever be placed next to anything with a warmth ID of 2 or more. Just other 1 and other 2 biomes. Also having boarder biomes that enclose other biomes and are used as sort of a blur layer that extend the range value 1 or 2 so an ice biomes could have slightly warmer biome relatively close, but also not be abruptly right next to it. This is like a beach surrounding almost any other biome if it meets a ocean biome, just applied in other places to add smoother gradients to the world. Biomes should all have 'type' IDs attached as well, because biomes even in the same warmth catagory can be wildly different, and it can look off unless same-type biomes have a higher priority of spawning with each other. I think this would allow for smaller biome sizes while making the world seem even larger and more seamless and feel like its not a bunch of biomes, but one massive very intricate and detailed single biome.