The overpowered legendaries are considered "balanced" because they're late drops and Blizzard intentionally flooded the game with overly efficient hard removal spells to make late drops less game ending. Which is why legendaries are pretty balanced in decks only running a couple of them.
But when it gets right down to it, there are only two real ways to play Hearthstone optimally. One is the pure control deck, commonly seen in Druid, Warrior, Paladin, and occasionally Warlock. All of your cards are either removal, powerful class minions, draw, utility, etc. Then you have a stack of the most impactful and game-ending legendaries. Generally Ragnaros AKA the 8/8 charge + divine shield for 8, Cairne AKA double yeti for 6, Sylvanas AKA 5/5 with Mind Control, Ysera AKA nigh unkillable wall of infinite card draw, and of course whatever your class' legendary is, since generally class legendaries are just plain must-haves.
The reason these decks are so good is they have the durability and control to survive rushdown attempts, then you pretty much just mindlessly slap legendaries/epics down on the board until the opponent runs out of answers and you win. Legendaries may be limited to 1 per card per deck, but you can have as many legendaries as you damn well please - meanwhile the opponent can only have two hexes, two polymorphs, two executes, etc.
Silence is an imperfect solution because against many decks silence is just an unnecessary loss of 2 stat points, and the availability in neutral cards is limited. Ironbeak Owl is a particularly sad case because it loses an additional stat point just for being a beast (although this makes it a very good card for ignoring taunts in hunter rush decks).
The other optimal way to play Hearthstone is frankly just as mindless. Seen mainly in Hunter and Warlock decks, but fairly viable for any deck but Priest, it's really prevalent at the moment because people have realized it's the only relatively successful strategy against legendary-stacked control decks - the pure rush, zoo or charge based deck. You ignore enemy minions and smack the other guy in the face. This relies on exactly the same principle as before - you're depending on the opponent running out of answers to your spam minions and dying before he can start slapping down his big legendaries. Again, you can have as many cheap charge/buff minions in your deck as you want, but the opponent only gets 2 whirlwinds, 2 wild pyromancers, 2 lightning storms, etc.
Mid-range decks honestly have no place in the game right now unless you're running double BGH and double faceless to deal with control, and a bunch of taunts and heals to deal with rushdowns. The problem is that this is a conflicting setup that makes your deck more luck-based and dependent on how you draw against what opponents, and splits up the central theme of your deck heavily. If you fail to draw enough of your taunts, heals, etc. against a rush and instead get your polymorphs, BGHs, facelesses, etc. you're done - and the opposite is true against control.
Honestly Hearthstone has a lot of problems right now, but it was never meant to be a competitive game. If you're really hating playing against heavily stacked legendary control decks, just do what everyone else does and run a charge/rushdown hunter or warlock zoo deck. You can get a deck capable of beating most unlucky control decks for real cheap.