My thoughts, based in no small part on my own abilities and tendencies as a pretty average hitter at best, are that the best hitters tend to be more patient at the plate, even when playing vs CPU. They also have the ability to distinguish when a pitch is going to be appropriate to take a cut at, which gives better results overall. Weaker players will swing at far too many pitches in general, consistently swing early in counts and don’t have the split second recognition and reaction skill set that separates the wheat from the chaff in terms of hitting ability.
If I were to build a dynamic scaling difficulty level for pitching, I probably would do exactly what you mention in your OP. First of all, establish that they have the ability to take a ball outside the zone.
If they do indeed appear willing to work counts and take balls, the next phase of upscaling difficulty is “can they take a strike?”. In this phase you would have the cpu pitcher throw the pitch in the zone, but in a location that rarely equates to success for a hitter A.K.A. “The pitchers pitch”. Sometimes there are strikes you shouldn’t swing at, the ability to recognise and lay off these pitches with less than two strikes is the difference between a good and great hitter. It’s all well and good laying off a change up in the dirt or high fastball above the zone, congratulations - You don't totally suck at hitting. That said, if you’re swinging at every strike on the black, rolling over offspeed on the outer half and trying to drive every pitch in the zone, you still have major problems.
To me, with these factors in mind, it’s a logical way to scale difficulty, as most players simply aren’t patient enough to take pitches, particularly when trying to beat the cpu for a specific mission. Most people attack and try to get it over and done with and move on.