I too was having issues with players being unhappy with training, it was mainly the under 21's. So here if how I fixed it:
First thing you need to do it setup your coaching staff so none of the categories are "heavy". Here's how:
Notice I am using the under 21 manager and assistant to cover lots of different sessions.
You can then get better staff as you go. But always ensure that they are set to average/light. This is new.
Next up, getting these under 21's under control. You'll need to take over their training. Go to staff responsibilities and make sure you run the under 21 training. The under 21's do not get a separate "General Training" from the first team, so if you have theirs set to high, the under 21's have that too.
So here's how to get them happy:
You'll have to go to the under 21 squad, then training for them is on a menu above, then go to team training.
Set the slider all the way to more match training. This just means that they won't be doing the general training, which is set to high so the first team are happy. You could maybe play around with the slider to get them doing some general training I guess.
And here is my happiness for training: