A bit of introduction about me, I'm not a pro player by any mean, but I consider myself to be a good player, not at hearthstone in particular, but at any on-line video game I play, and I have played many video games, to bring up some examples I reached Diamond 1 in League of Legends, and I almost reached Legendary in hearthstone hadn't it been for my studies (excuses :p).
And from years of experience at playing games, I found out that I don't have a talent in being the best or anything like that, but I have a talent in improving quickly.
So if you're trying to improve at Hearthstone, this should be really helpful.
How to improve at Hearthstone ? :
1- Enjoy the game :
So I'm telling you, remember that this is a video game, and you're supposed to have fun playing it, Hearthstone is a great game, and it's easily one of the most fun games I've ever played and I've played a lot of them. Try to switch between play modes to not get bored, try a new constructed deck, try playing arena with a class that you have never played with, and also try to play the dungeons content (Naxx & Blackrock), this way you get to spice things up and you'll get to have much more fun.
2- Learn from the best :
This is the best tip that you can ever get and you may have heard it before. Always learn from the best, it's easy to do since the Internet is so vast now and you can find anything you want so easily.
So what you have to do is find a good streamer or Youtuber, and not only does he have to be good, but he has to be informative, a good informative player will try to explain his plays and his picks, and you'll learn so much from him and you'll learn how to think like a good player does.
For me, I found out that Trump is the best informative streamer, I've learned so much from his videos, and I keep watching them everyday, he has a good Youtube channel so you can watch his videos if you can't watch his Twitch stream regularly, so try to watch his videos or the videos of any other good streamer that you like, and try to understand his plays and picks, try to copy them, and if you keep doing that, you'll find that you'll improve in no time.
3- Set yourself small objectives :
This is really easy to do but I don't see many people doing it. You want to achieve a big goal, well you can't do that if you keep thinking about it and how far you are from it, instead you can set yourself smaller objectives that will eventually lead to your big goal.
Let's me give you an example, You want to reach legendary, but you keep balancing at ranks 20 - 17, if you keep thinking about getting to legendary you will eventually get desperate and give up because you are so far from achieving it, instead what you should do is set yourself an objective of winning 3 consecutive games, getting to rank 15, then rank 13, then 10, and so on, this will be easier to achieve and you will feel so much better whenever you achieve a small objective, and before you know it you'll find yourself at rank 3 trying so hard to get to legendary and eventually succeeding in it.
4- Read and follow guides :
This should go without saying and I'm sure you are already doing it since you are reading this post, but just to make sure, I strongly suggest you keep reading guides especially if you're a beginner, you'll get to learn things that took people month to learn from experience, and you will find yourself learning so much new stuff about the game that will help you both immediately and in the long run.
I can't link any guides for you because they keep changing everytime the meta changes, but it's easy to find them, just head to a search engine (google.com) and look for whatever you want (How to play priest?, Shaman guide, Arena Draft guide, ....).
5- Don't give up and keep trying :
Success is never won over-night, it takes time and effort, so you must be strong enough to keep on trying, don't lose hope, eventually you will get there, as long as you believe in yourself.