lose as much as you can tolerate.
don't just play people around your level - play people who are beating you as much as you can tolerate. whatever that amount is... perhaps you can tolerate losing 30%, 50%, 80%, etc. figure out what your max percentage/ratio is then stick to it, and spend less time playing opposition that is beating you less than that.
i used to be bad, partly due to being newer to the game and also very young, but also because at one point when i was like 12 i left us east to play on us west so that i could win more in a less competitive environment. this turned out to be a great way to avoid learning the game. I didn't improve much at all for a few years. eventually us west became less populated, so i moved to us east and found myself playing against top players specifically and near exclusively.... players like grunt.exe, sparkz102, kanuks and many others great players - and what i noticed is that I could tolerate losing over and over, it didn't matter if i went 2-6 or 0-10, every day, week or month. I could tolerate losing 100% of the time, or somewhere close to that.
After a few hundred games consistently losing series vs top players, I became one of them and it happened within a span of one or two months. I think a lot of people could do just what i did and get a lot better because of it. cool story.