If I understand correctly, the problem we have is that pure random creates too many 'crazy' Kingdoms and not enough 'fun' Kingdoms. 'Crazy' Kingoms being defined as Kingdoms that are 'unbalanced'; they have too much of some things and none of other things. 'Fun' Kingdoms have a good mix of everything on offer: non-terminal Actions, extra buys and/or gains, attacks, a good cost distribution, etc.
If you own just the Base Set, this is basically a non-issue. The card pool is small enough that choosing a card that fits one criterion makes it significanly more likely that the other cards you choose will fit other criteria. You can't very well have a Kingdom with 10 splitters (villages) if there are only 3 splitters in your card pool (Village, Throne Room, Festival). Under these circumstances, I argue that a fancy randomizer is completely unnecessary. Sure, you'll get a Kingdom with no non-terminal Actions once in a great while, but they're rare enough to be a cool novelty rather than a big issue.
As the card pool grows, however, crazy Kingoms become more common when you use pure random. Adding a splitter no longer significantly reduces the chances of getting more splitters, etc. Now some might argue that this is as it should be. Players are likely to buy more expansions as they get more familiar with the game and crave more variety. As that happens, they may be more able to deal with 'crazier' Kingdoms. However, let's assume that this isn't the case. I'm sure there will be some players who love the Base Set so much that they'll buy the mega-pack and get everything all at once. So we'll take it as a given that it's still desirable to have fewer 'crazy' Kingdoms than full random provides.
So if the issue is that a larger card pool creates more crazy Kingdoms, here's my solution: reduce the size of the cardpool before choosing your Kingdom cards.
Doing this is simple. Just choose 2 or 3 expansions that you're going to use and then only choose cards from them. Specifically, here's how my homemade randomizer does it:
1. Add 'required' cards to the Kingdom (cards that the user has chosen to definitely be in the Kingdom).
2. Determine how many promo cards will be included in the Kingdom (using a hypergeometric distribution), choose that many promo cards randomly, and add them to the Kingdom.
3. Put tokens into a bag representing the expansions the user owns. There are 2 tokens for the Base Set and 1 token per sub-expansion the user owns. (So if the user owns all of Dark Ages, put three Dark Ages tokens in the bag).
4. Draw out X tokens randomly where X is the maximum number of expansions the user wants to use this game (usually 1, 2, or 3).
5. Until the Kingdom is full, round-robin between the tokens and randomly choose a card from the corresponding expansion. So if I have no required or promo cards in the Kingdom and I chose Seaside and Hinterlands tokens, I'd have 5 Seaside cards and 5 Hinterlands cards in the Kingdom.
I left out a few steps, such as not putting an expansion's tokens in the bag if the max # of expansions is 1 and you'd only have one token for that expansion. You usually don't want to play an all-Alchemy game, etc.
Here are some built-in features of this algorithm:
• It's less likely to create 'crazy' Kingdoms than full random from all cards.
• All cards appear with approximately equal likelyhood.
• You see the interactions between cards in the same expansion more often.
• Cards that work better in the context of their expansion will be duds less often (Scout, Contraband, etc.).
• It automatically abides by the 3-5 Alchemy cards suggestion without additional tweaking as long as the "maximum number of expansions" setting does not exceed 3.
• Your Colony games are more likely to have 3-5 Prosperity cards in them rather than 1 or 2, making Colonies easier to attain.
• It makes it very easy to say, "Give me a game with half (or all) cards from Expansion X." This should be handy for those who just bought a new pack of cards and want to try them out.
• It makes it very easy to say, "Don't give me any cards from Expansion X." This is nice for completionists that want to buy everything but don't always want to play Alchemy games.
I should explain those last two. The UI for my Kingdom generator looks like this:
If a player disallows an expansion, the expansion's tokens don't get put in the bag. If they require an expansion, it automatically chooses ONE token from that expansion before filling the bag (the other tokens from the expansion go into the bag).
One quirk of this generator is that it can generate Kingdoms of all one expansion when you specify, say, a maximum of two expansions. I don't consider it an issue, but I could easily see that some might have a problem with it.
It's my understanding that when playtesting in real life, this is more or less how Donald and company would play; take cards from 2 or 3 expansions rather than from all of them. So the idea has certainly been thoroughly tested. In my opinion, it's a good compromise.