What happens if they are below the "max", but then because they are training players, the next season salary increase takes them over the cap?
We can implement something which allows them to exceed the cap with trained players. Something like Bird Rights.
I would suggest that only the initial salary of the player (salary when they are acquired) counts towards the cap. This figure is already used for training exemption, so we might as well just reuse it for the cap. Plus it would also encourage people to train players, especially their draftees, coz then that would mean they almost have a free player.
The downside is if you have an aging team and your player's salary drops, their initial salary will still count towards the cap, not their current salary.