It is clear that the CPU AI is programmed to cheat. CPU base runners know where I am throwing the ball even before my fielder releases the ball which means they are responding to button pushing!!! That is a bit cheap if you ask me.
Also, CPU runners automatically know when the ball is fair or foul or when it's going to be caught! This means that they get an extra 2 or 3 steps on user controlled players!
Here is an example. A bunt hit right in front of home plate is almost always a double play with the catcher. I have 99 Posey and when this happens to me by the time Posey gets the ball, and he is a diamond fielder, the CPU player is almost always at 2nd base already, regardless of speed!!! Absolute garbage!