I've noticed over years of coaching in matches that the large majority of opponents are most vulnerable to one of six types of rallying tactics. These are tactics once you are into a topspin rally, so we're not looking at serve and receive here, though of course you can use that to set up these rallying tactics. Here they are, in rough order of frequency.
Forehand, then backhand. This is against two types of players. The first is a player who is quick to attack with the forehand from the backhand side, but has a weaker backhand. You go to the forehand first to draw him out to that side, and then you come back to their weaker backhand side. The key is that you choose the ball you let him have on the forehand side and are ready to counter that ball back to the backhand. The second type is a player who is strong on both wings, but weaker on the backhand once pulled out of position by going to their forehand. These are what I call "pocket players," who can rally or attack forever when in position, but whose level drops dramatically once out of that comfortable pocket.
Relentlessly go after middle. This is against a player who is good on both wings, but doesn't cover the middle well. Players like this are usually either tall (and so have a bigger middle) or lack mobility. Many opponents mistakenly go after the corners against these players, which they are very good against. Against a player who mostly covers the middle with the backhand a good tactic is to move the ball back and forth between wide backhand and middle, with sudden attacks to the forehand.
Pin them on backhand. This is against a player with a weaker backhand who doesn't use the forehand from the backhand side very often. The tactic is to keep going wide and deep to the backhand with quick, aggressive shots. The goal is to force a weak ball from their weak side you can put away. You can also go after the middle, especially if they try to cover it with their backhand.
In and out. This is against players who either soft loop or fish over and over from off the table. Often they are two-winged players who can topspin forever if you keep hitting the ball out to them. Instead, block the ball soft to bring them in, then attack out at them. Use the diagonals - block soft to the forehand, then hard to backhand, or vice versa.
Go after forehand. Some players simply have weak forehands, and can't do much there even if they know the ball is going there. This is especially true of some players who greatly favor the backhand and have limited mobility to cover that wide forehand. When you go after their forehand, they have difficulty, and they are hoping you will go back to their backhands, or at least to their middle where they can also use their backhand. Rarely do so.
It's complicated. This is against a player who changes his playing style in the middle of a game, and so sometimes one of the categories above fits, other times he switches to another category. The most common example is the player who switches between a two-winged attack (but weak in middle) and an all-out forehand attack (but weak at wide corners, especially if you go to the wide forehand and then come back to the backhand). Be aware of their changes so you can apply the appropriate counter-tactic. Remember that when they change tactics, they are often going to their secondary game (i.e. weaker game) because your tactics were working against their primary game. If you play smart, the odds are they will be even more tactically vulnerable with their secondary game.