I don't recommend buying more space, since you don't need to keep extra Pokemon around. The mechanic of candies being available by trading Pokemon even seems to discourage such hoarding.
To keep my bag from getting full, I sort by # rather than CP, and transfer anything that is duplicate. When I sort by #, Pokemon with the same number appear to be de-facto CP-sorted (perhaps you should sort by CP, then change to #, if it's not inherent behavior).
I tend to keep one of each stage of evolution, so for example I have a Pidgey, Pidgeotto and Pidgeot. I do this considering trading in the future, but that's up to you. I also actually tend to keep a hand full of Pidgeys, which I evolve all at once when I'm using a Lucky Egg.
You might have other little tweaks like that, but I do advocate sorting by # and using that metric rather than sorting by CP, unless all you care about is battle.