In real life, after a training session, the manager doesn't decide which skills a player gets better at, the player just gets better, so maybe the skill points are automatically allocated after every training session.

To give more control the training sessions could be split into three groups: defence, attack and physical/mental. These could then be further divided into light, medium and heavy sessions with similar rewards as currently.

Therefore we would have 9 separate training options
Defence: light - medium - heavy
Attack: light - medium - heavy
Physical/Mental: light - medium - heavy

The training process would then be, for example, if a light defence training session was done, then no more defence training at medium or heavy could be done for 10 minutes, and light training for attack or physical/mental could not be done for 10 minutes. Any skill points gained in this defence training session would be automatically assigned to the player's defence statistics.

There could even be a special training category for goalkeepers.

As for skill points gained during a match, these could be automatically assigned to the player's lowest skill area.

The only problem with this approach is that it would give the token buyers an advantage, but hey Chelsea? Man City? The premier league's equivalent of token buyers!