Using other parameters then the ones for salary and base it on best possition would make it possible to uncap a capped player with a position change. As far as i can see it...
Maybe. However, a capped player is training real slow, and the amount of training needed to change position may be significant, so on a practical level I don't think it is a big problem.
"I don't know half of you half as well as I should like; and I like less than half of you half as well as you deserve."