The former is fine in my opinion, because the drawback of taking damage actually comes into play. However, as I try to climb from rank 3, I face handlock, after handlock, after handlock, after handlock, and they all play the exact same deck, and they all play it in the exact same way. Simply dump all of your low cost minions, lifetap if you have the mana, and then soul fire/doomguard when you have no/1 card in hand. Furthermore, the act of depleting one's hand is a miniscule drawback, when you draw twice as many cards per turn as I can.
To me, being able to play these cards without discarding due to an empty hand is a huge oversight by blizzard. If I use an overload spell, I pay the drawback, no matter what, whereas a warlock can not only circumvent his drawback, but it also works in tandem with the hero power very well. It feels more like a bug in game mechanics.
When i used to play pokemon, there was a card called "computer search", which required me to discard a card from my hand to use it. If I did not have a card to discard, I could not play computer search. This rule also held the same for tribute to the damned in yugioh.
Why is warlock the only class that doesn't have to pay for its drawback? Doomguard and soulfire should not be allowed to be used without discarding cards, or the drawback needs to be fixed in another way. It does not take very much thought, or effort, to play doomguard with an empty hand and lifetap away on the next turn, and it is not balanced.
currently rank 3 shaman, and never see other shamans, just warlocks and to a lesser extent druids.