I disagree with mastering 1-2 classes - I think it's super beneficial to play a variety of classes, even if you don't master any of them. Learning each class allows you to figure out which one you like best based on your play style and helps you to adapt to and counter the those classes when you come across them in game.
Watch and learn from the best; check the best-of threads and learn from them, learn the things they do that make people consider them the best.
Always be aware of what's going on around you with your team and the opposition, don't develop tunnel vision. It takes practice, but know where you need to be when you need to be there according to which class you're playing at the time.
Just practice, play as much as you can - check TI and any other related sites for info, be a sponge and absorb as much community knowledge as you can. There's no special secret to improving, it's the same as anything in life. Practice and be hungry for knowledge.