As it stands its very hard to train your driver in a specific attribute. You rely on getting lucky and having the attribute you want to improve being included in the attributes that actually go up +1
So here's my suggestion - Let people chose what attributes they want to improve, but at a cost
You pay X amount each time you want to train a specific attribute, and the amount required to pay for training increases each time you train the attribute.
I'm just going to pull numbers out of the air for this example, it'll be up to the devs to work out the exact figures, so don't read too much into the example given.
Level Cost
1 $1,000
2 $2,000
3 $4,000
4 $8,000
5 $16,000
6 $32,000
7 $64,000
8 $128,000
9 $256,000
Basically, under this system training the lower levels of an attribute would be incredibly cheap but once you start looking to improve the higher levels you face serious costs. This will lead to people having to make the decision on whether they want to for a balanced driver, or for a more specialised type. It will also give teams something new to budget for and to spend money on.
As it stands now up to 3 randomly chosen attributes can be improved per training session. Under this system you can chose 3 separate attributes to increase +1 or one attribute +3. Either way you'll be charged whatever the amount is to increase the level of your chosen attributes.
Essentially what a system along the lines of this would offer is the ability to train a driver exactly the way you want to, but at a cost. It would also remove the annoying random factor in the current training system.
edit - stupid forum is after making an absolute cock and balls of the level/cost table. If its unclear for anyone, the cost doubles per level.