YES, random DI does correct that. It corrects it part of the time, and will eventually hit perfect situational DI, as well as mix-up DI, and bad DI and no DI, all of which humans exhibit, both on accident and on purpose as responses to either read/conditioning based punishes mix-ups. And keep in mind I don't mean totally random DI; I mean like, favoring certain optimal angles over others; for something as simple as marth's uthrow, this would be left, right, no DI, and slight DI behind, alternating between those with no discernible pattern. Random DI from a training standpoint is strictly better than "This angle, this knockback, therefore this DI." I don't know if that's actually how you're going to program it, but if CPUs aren't exhibiting a range of DIs in order to throw the opponent off then they are only capable of training the player for one kind of response.
If you want CPUs that can compete in tournies, just make them powershield every attack and spotdodge every grab.... ffs that's not a admirable goal when obviously computers should outclass humans in physical performance at any time. Nobody considers or cares about CPUs entering tournies atm (short of bad players getting bodied by lvl9 fox) because they aren't an issue, but if you just make CPUs that can actually compete in tournies, they just won't BE in tournies because tournies are about players. I don't even understand what the goal is.