NOTE: I do not own the ideas written below.
If you are sick of being just an ordinary player, you might want to read this guide that's based from years of analyzing what good players do and what works for us. I'm not saying that I'll transform you to a competitive player at once but I assure dramatic improvement after executing these 5 simple guides to improve your game.
1. Watch professional replays and imagine that you are one of the players
This is a trick that will make you improve quickly. Rather than having a "Wow, he's so good!" mindset, think of it this way "I am this Shadow Fiend I am watching. This is my replay. I am currently farming and harassing at the same time. There might be gankers near by, I should hide first." etc.
The point is you have to feel that you are the who played that hero you're watching because this is the quickest way you could be playing like the real player. He may be Yaphets, Yamateh, 2009, or other great Shadow Fiend players but you should be the player in your imagination while watching the replay.
I've done this so many times and from my experience, after watching replays of good supports or gankers like 820, NS, and my favorite Vigoss, my decision making in that aspect of game (supporting) improved a lot. What happens is their experiences became my own experience. When they fail, I also failed so I know what to do next time. When they succeed, I also succeed so I knew what works. I don't have to play against popular teams to experience playing against them because I already did with this technique.
2. Make it a hobby to watch your own replays
Don't just say "Yeah! I won time to go!" or "Damn it! I lost". Your won or lost games should all be watched. If you're aiming for perfection in your game you shouldn't be lazy to check out what are the errors you've done that needs to be corrected. May it be a simple last hitting problem or a huge turning point problem that caused your whole team to lose, you should be aware of the things you're not doing right for you to be able to correct them.
In team games, is very critical it is very critical to watch your replays. Almost every game there are failed executed combo. Sometimes you just won because the opposing team isn't that experienced yet but you still have someone dying. Yes it's not that easy to have a complete 5-0 sweep clash if you're facing good teams but there might be ways to make it happen. There might be a need to tweak your strategy or line up.
I was lazy to watch my replays before but when I did, I discovered 1000 gallons of mistakes I was making. It was only then I changed it. After having a hobby of watching most of my replays after playing, I was amazed with my own improvement. If I only opened my mind earlier and have already done own replay watching session, I could have improved 2 years earlier but I'm not regretting any of my experiences. I learned from all of them.
3. Have enough time to play desired hero to be mastered (I recommend 2 to 3 days)
Have you ever wondered why your game is not as good as your other games playing different hero? Improving your game also comes from improving on how to use a hero. That's the reason why there are Dota hero guides spreading in the internet.
Playing a hero for 2 to 3 days will make you comfortable with the hero you want to master, you'll experience different things that may happen in real games making you prepared for them, and you'll know different strategies that will assure success in using that hero.
I played chen not only for 3 days but for 3 months. It's because I was still a newbie that time (my 1st year of playing Dota) who was used to playing carry. I discovered that Chen is the most used hero by professional teams that time. I don't want to demand this boring practice to any of my team mate so I switched my role to support and practiced Chen for months. Whenever they see Chen, he is like my twin already for I'm the first person to be in their minds. Good Chen players were always behind me laughing at how I micro my creeps. After 3 months of practice our team evolves from a noob team to a feared team in tournaments. Chen gave me a lot of Championship awards. You don't need 3 months because I assume you already have more experience in competitive games than I had before.