I seriously prefer on-gain to one-shots, even if it's an immediate trash-on-gain effect ; It would be too swingy to have to buy a card, wait for your deck to cycle back around to it, and (probably) have to waste an action / card slot on it. Particularly if you had terminal draw/etc.
I have more than enough experience with games where I buy a card just before a reshuffle turn 6 and don't see it until turn 9+ on the next shuffle where my opponent buys it on turn 8 and plays it on turn 9 before me. ..anything that can be balanced to negate this stochastic effect would be better in my eyes.