I have posted this video countless times when it comes to questions about how to translate training to actual skill in game scenarios:
Watch the video several times and see if you can sort out some ways to translate the information about training the random element to training in Table Tennis. There are lots of ways to start incrementally moving training towards more random.
It is clear that in a drill where you know exactly where the next ball is going to go, you don't have to figure out where the next ball is going to go before moving there. So, reading the play is not part of those drills.
TT is so complex that you do still need to work on things like that, but not as much as people think you need to work on them. Getting good form in strokes when you know where the ball is going and can move there because you know before the ball is hit where the next ball will go, that is a very basic starting point. And to get the coordination of how the upper body and lower body coordinate to make those kinds of movements and maintain good form in your strokes is worthwhile. You can also work on this with shadow stroke/footwork drills without needing table time. Shadow stroke/footwork drills will help with the coordination of upper and lower body for moving to a spot, setting and taking a good stroke.
But when you are playing a match, your opponent is not trying to hit the ball to you where you know it will go. They are not feeding the ball to you. They are trying to hit the ball to where it will pressure you and make it awkward for you to make a return you want.
There are so many levels on which the random element needs to be worked on in table tennis. But starting with approaching it from a few directions is not a bad start.
A few places to start with actual game simulation drills:
Drill One:
1) Player One Serves backspin short:
2) Player Two pushes long to FH (not an entirely predictable location but somewhere in the FH box; if the ball is near the center in the BH box, that is good too.)
3) Player One Loops with FH (if player one fails to even attempt to loop with FH, you could look at that as failure. Nothing else is failure though. Trying to loop and not getting the ball on the table is better than trying to push the long 3rd ball).
4) OPEN RALLY, BOTH PLAYERS TRY TO WIN THE POINT.
Drill Two:
1) Player One Serves backspin short:
2) Player Two pushes long to BH (not an entirely predictable location but somewhere in the BH box)
3) Player One Loops with BH (if player one fails to even attempt to loop with BH, you could look at that as failure; aside from that, everything is a successful attempt).
4) OPEN RALLY, BOTH PLAYERS TRY TO WIN THE POINT.
At a certain point, those two drills should become solid and then they would simply become warmup for drills will a larger degree of random in serve and receive.
Drill Three:
Drill Three:
1) Player One Serves backspin short:
2) Player Two pushes ANYWHERE (long, short, FH side, BH side, wide angle etc: anywhere)
3) Player One OPENS with either wing (Here is where you can start working on things like looping short backspin balls to the FH side with an over the table BH loop when you feel ready for that; OR FH flicks) (As long as player one attempts to open with an offensive shot, anything goes and the drill is a success).
4) OPEN RALLY, BOTH PLAYERS TRY TO WIN THE POINT.
Drill Four:
1) Player One Serves backspin short:
2) Player Two pushes short anywhere.
3) Player One pushes ANYWHERE.
4) PLAYER TWO OPENS with either wing.
5) OPEN RALLY, BOTH PLAYERS TRY TO WIN THE POINT.
Drill Five:
1) Player One serves his most evil and nastiest serves, all of them.
2) Player Two works on returning serve.
Ideally this drill is done with lots of different players to get used to receiving as many different serves as possible from as many different players.
Drill Six:
Full game simulation without counting points.
1) Player One serves as if in a match.
2) Player Two returns serve.
3) Open Play.
This drill should be done with each player doing two serves that the other player can make an attempt at returning and then you switch who serves, exactly like in a match. However, if the server misses a serve (which would be a point in a real match) this should be counted as a let so the player receiving serve gets to actually attempt to receive TWO serves.
At a certain point, the first five drills could be used as a warmup for drill number 6.
And of course, drill six should be almost exactly like a match but without counting points so you can try the shots you should try; whereas, often in a match, certain players get stuck taking shots that they shouldn't because they don't have confidence taking the shots they actually should. And drill six is to prepare you for an actual match, so, also warmup in a sense.