Your first point is good. I'm not so much in favor of a hard cap, but the rest is good. I like the idea of a player's development being connected to the strength of the competition. I would prefer if there was more uncertainty in a player's growth as compared to his potential. It should be less predictable, because a player's development sometimes is unpredictable.
I am going to take a different approach with your second suggestion. The current training system forces managers to choose two things to train:
1) a skill
2) a position.
Simply, training would have been greatly improved if one or the other was removed from consideration.
On the one hand, let us assume that teams trained skills. In this case, all players would train in that skill according to their playing time. It would still be reasonable that the effectiveness depended on playing time and on that player's natural skill set. If a manager trained his team on passing constantly, each player should receive a more or less normal boost to his passing for his own ability, depending on playing time and all that. Six-footers would still train faster than seven-footers. But if developed fully, a six-footer with high potential would be a great passer for his size (Steve Nash/Chris Paul), and a seven-footer with high potential would be a great one for his (Pau Gasol/Kevin Garnett). If BB could do anything to improve training, I would want them to take this option.
On the other, let us assume that positions were trained. If so, I would expect a certain skill set to be tied to each position. Under this scenario, players would be trained on the designated skill set. This would be useful if a manager wanted to play a certain style. A manager who wanted a run-and-gun team would commonly train the guard position skills, and a manager who wanted to play a half-court style would favor the power forward and center skill sets.
A third option I had not considered was to train according to the offense and defense a team used in its games. The idea would be much the same: each offense and defense would improve different skill sets.
Any of these options would not only have allowed managers more flexibility in building their teams, but it would have had the advantage of training actually resembling real practices. When teams practice, every player participates, not only three or four of them. BB has accidentally set up a system in which a player with even excellent potential can be drafted at 18, play regular minutes over his entire career, and still be a bench warmer ten seasons later, simply because the manager did not train him. This is unrealistic.