When playing with experienced players (or in tournaments), we always choose our two opening buys. The players don't have to stack their decks before starting, we just pick a card costing up to $5, and then pick another card on turn 2, for a total of $7. So after the first player buys a card, the second player is free to react however s/he wishes, etc. This somewhat alleviates first player advantage, and also makes for a less luck-prone, more strategic opening.
Before Hinterlands, Mint was the only special case: If you pick Mint as an opening buy, of course you fish out 5 Coppers and trash them. After Hinterlands, we have some more special cases, but it still works. Like, if someone opens Noble Brigand on turn 1 (rare), some opponents might have to choose their opening hand, then all opponents shuffle the remaining five cards.