I haven't voted yet, but I will post some comments about the general topic of training to improve skills. My suggestions may not be realistic, as they may be too difficult to implement to be justified. Maybe some ideas will be helpful.
It would be nice to have training for several different shots. For example, there could be a training session to work on drop shots, which would start like a warm-up, but the CPU would just hit shots, increasing in speed and difficulty, that the human player would try to get to and return with a drop shot. In addition to the current visual aid, there could be a graphic that would appear, representative of the controls chosen for shots (keyboard, joystick, whatever), that would show exactly what buttons to press and when; the visual aid of the buttons could be used during the part of running to the ball and the making of the shot or could just be used for the part of making the shot. This way, by copying the displayed controls (showing when and for how long to press the controls as well as which ones to press), the player could be trained to correct errors. Also, if the shot fails because the player was out of position, pressed the shot controls at the wrong time, or pressed the wrong controls, a replay could appear following the error displaying, side-by-side or with a ghosted (semi-transparent) overlay, where the replay would show the controls that the human player used juxtaposed with or overlaid with the proper movement and shot strikes (keypresses, or whatever).
If you wanted to combine this with a mini-game, then I guess you would have a target for the ball to hit, such that, using the example above, a drop shot, when hit properly, would have to bounce on this target on the returner's side of the net. This way, there would be a goal not only of hitting a proper drop shot but also of positioning the drop shot precisely. So, once the player is in the proper position to hit the drop shot, there would have to be enough time to apply direction so that the ball would be "dropped" onto the target. This is an advanced skill, but it is important as it can make all the difference between a drop shot winner and a careless drop shot that is easily returned (or between a ball that is in and a ball that is out).
I think that the use of targets and such may work well for serves and for other types of shots, such as accelerated shots. For those types of shots, the CPU player could hit the ball to the human player and there could be an indicator showing where the human player is to hit the ball. As above, a replay showing positioning and shot errors, along with the proper technique, could appear following any mistakes, by which the human player could improve. The CPU shots could start off very soft and directly to the human player, but increase in speed and distance from the human player as the human player became proficient with the more basic returns.
Rather than just having the visual aid showing what controls to apply during the shot attempt, there could be an indicator, either just a circle that moves along the court for the player to remain centered in, or an overlay (semi-transparent) of the human player that the player is to track, such that the visual aid image and the human's player, with proper technique, appear as moving together and can only be distinguished by the overlay, where the human player is seen through the overlay of the visual aid.