I remember watching a video a while back explaining the underlying problem of Hearthstone. The person posited that the reason Hearthstone has these problem decks is that everything in Hearthstone can be separated into "questions" and "solutions".
Threats and win conditions are "questions", while answers that deal with threats or avoid the win conditions are "solutions". The problem that arises in Hearthstone is that "questions" are universal, while "solutions" are specific. As such, it's easier to play "questions" than it is to field "solutions", which leads to decks optimizing their "questions", since finding "solutions" to answer a specific "question" may not necessarily apply to a different "question".
Unfortunately, I think what ultimately contributes to this problem is Blizzard being reluctant to provide broad, efficient, "solutions". It makes more sense to just keep posing "questions" and just try to win as fast as possible since "solutions" are generally higher cost and rarely actually reverse match momentum on their own.