if you can't read the serve, well its difficult. but if you play more often with him you will figure out.
I'm not good at receiving as well... but some hints: if you manage to know if it's long short or half long, and going to your FH / middle / BH, that's already more than 2/3 of the job done.
to know whether its topspin or backspin you have to focus not on his overall move but just contact. does he use wrist or not (no wrist = knuckle / no-(little) spin ball ) ? if there is wrist does at contact the racket goes down (backspin) or up (topspin) ?
if you're not sure, better to time the ball a bit later to give you more time to see what the ball is doing and read the spin.
if its a hook serve, and he is RH then contact the ball on the RIGHT side to control the side spin. if he serves short to your FH, try to move fast to play the ball with your BH if possible (unless its really too much to the right)
it will be easier to play.
----
on your own serve, to prevent him from looping aggressively you have to surprise him more. A lot of these players are very good if you serve to their BH, they pivot and loop immediately. they have a good push also if you serve short to their BH. The solution is to keep them guessing where you serve , better to serve half long so even they loop its a weak loop usually. or short to their FH. serve only 30% or less to their BH and when you do, better to do it with top/side spin but not so fast ball (he might loop over) or heavy (side) backspin but make sure the ball is going out on the side of the table.
If you serve from the middle of the table maybe you can aim more easily both wings it could be difficult for him.
of course if you are good in short game, then serving short, and hoping for a long push - for example is a good tactic.
I often have the same feeling than you. But the reason is not only receiving but also serve. If our serve is not good quality enough, then we get a difficult receive to deal with, and it's not easy to attack. We have to come back also quickly in position after serving to be able to deal with any kind of return.
I think it's important against these good players to never do twice in a row the same serve, unless you are dominating.
Great answer.
Just to add a couple minor points. Sometimes when I have trouble reading the serve, I try to see if the ball "kicks" or not, and bet on whether it has top spin or no top spin on the ball. Some players are really good at faking their motions and it is really hard to see the contact point. If I cannot read the contact point, I forget about it for now. The match is only so long (or so short). If I cannot read the contact point, I have to get it out of my head right away mentally. Then let us focus on what we can read (or not read) and move on.
With top spin, the ball almost certainly has that kick starting with the first bounce on the other side of the table. After all if it does not kick, then the other player is doing a poor job trying to put a top spin on it.
If the serve coming at you has slight backspin or no spin or side spin, the receive is pretty similar. You need to brush the ball and put a bit of topspin to make sure it goes over the net. After all, no spin serve often wobbles a bit. And side spin serve, I like to counter it with top spin and aim for the corret side of the table. I was never taught to touch the ball on either side of the ball to counter the spin. I was taught, by my coach growing up in the 1990's, to put slight top spin and aim for the correct side of the table so the ball does not fall off the side edge of the table.
Everyone plays a bit differently.
However when top spin is coming, everyone would need to close the angle of the bat. So that's why I focus on if the serve coming has top spin or no top spin.
With 40+mm plastic ball, really, there is not a whole lot of spin compared to 38mm celluloid ball era. With plastic ball, if you are really not sure about the spin on the serve coming at you, take a step back away from the table and let the ball drop, let the spin on the ball dissipates a bit and then loop everything. When you cannot read the spin, that is another way to deal with the situation. Let the ball drop and take it at its descent and loop everything that comes at you. Either you win or lose anyway at that point.
As for your serve, again I agree. You need to vary it a little bit. I am going to argue, when you are facing a hyper-aggressive 2000-2100 level player, you might want to serve long and fast but to various locations on the table: backhand, forehand and the elbow. The best serves are long fast side spin v.s. long fast side underspin. Then throw in side top spin here and there. By doing so, you actually push the other player away from the table a bit (and buy yourself a bit of time). Since you know what spin you are putting on the ball and you know the other person will attack, you just recover quickly and leave your hands and elbow high to be ready to get into a rally.
By the way, you can see that in top level with short pips players. They love to serve long serves because they know either they are going to finish the point or get into a fast, furious rally. They want to end the point quick. Prolonged rally with varied spin (like back spin here or side spin here) is actually bad for short pips players.
In addition, when a serve is fast, it is really hard for the other player to figure out if it is side spin or side underspin. Once the other player loops a few serves out (because it is side spin) or loops a few serves into the net (because it is side under spin), you can break the other player's psyche a bit.
However, the key here is "fast." If you cannot do it fast, then the other player will eat you alive.
Then once the other player realizes you can serve long and fast, he might take a step away from the table. And then you can do your usual short heavy underspin serve. At that point, you have him off balance all the time and guessing.