I like the idea of promoting teams to the next level based on the highest level player on their team vs. the promotions based on their success. It would be hard for a team to be a serious contender without boosting a fair number of players so this would control that they move up. It also removes incentive for teams to intentionally lose which really hurts the game. If lack of success puts you in a better position the following season teams will gladly accept a missed playoff finish to ensure a great next year because the benefit outweighs the cost. Furthermore, reward success a little more heavily to give incentive for teams to be as competitive as possible.
While promoting teams based on their highest level player, continue to try and match them into elite leagues, competitive, etc. base on their results. Also, try and promote teams from the same league together (pending their highest level players are equivilent).
***
The way for teams to become more competitive should be to improve strategy & recruiting...not by gaming promotions between the caps. If a team fails to work towards improvement then they should be allowed to suck every year. Likewise, if a team is good they should be allowed to be good until someone can beat them on a level playing field and not punished for success.
It really isn't fun for teams to out level their players because in order to stay competitive they have to either re-tool their roster constantly, or have an "off-season" by not trying, or doing a 1 level promotion.