Returning serves effectively takes longer to learn to do than any other part of the game. This is due to the incredible variations in spin, speed, direction and depth available to servers. Worse, a good server disguises every aspect of the serve, especially the spin. We're going to focus the most difficult part here - reading spin. (For more info on spin, see my article Everything You Wanted to Know About Spin - But Were Afraid to Ask.)
Ideally, a player should read the spin off the server's racket. No matter how many motions a server goes through, all a receiver has to do is read the direction of the racket at contact, and he will have read the type of spin. This is easier said than done.
The receiver also needs to read the amount of spin. Against a somewhat grippy inverted rubber, this is roughly done by a simple formula: racket speed - ball speed = ball spin. What this means is that a server's racket speed at contact will convert to ball speed and ball spin; if the racket moves fast, but the ball comes out slowly, then most of the energy has been converted to spin. (It's actually a bit more complicated than this. You get more spin if you accelerate into the ball rather than moving the racket at a constant speed, but it's close enough. Plus you have to take into consideration the grippiness of the rubber, as a non-grippy surface will have less spin.)
A server disguises spin in three major ways. First, his racket may go through a semi-circular motion, with contact at any point on the curve. This way, a server may give different spins with the exact same serve motion - the only difference is where in the serve motion contact is made. At the advanced levels, this semi-circular motion is so short and quick it's very hard to pick up.
Second, a server may disguise spin by mixing up spin and no-spin serves. (If a receiver thinks there is spin on the ball, and there isn't, it's the same as misreading a spin.) There are two ways the server may do this. A server may contact the ball near the throat of the racket, where the racket travels slower than the tip. Or he may fake a grazing motion, but just pat the ball with the racket straight on. In both cases, the server may use an exaggerated racket snap after contact.
Third, the server may put so much spin on the ball that it is simply difficult to read the amount of spin.
The only way to learn to return serves is to understand them, and to practice against them. So how do you read the spin?
As your opponent is serving, keep your eyes on his racket. (Against a high-toss serve, you may glance up to see when the ball will be coming down - but as it comes down, you should be watching the racket.) Ignore the direction the racket is moving until contact. Then, right at contact - SNAP! Take a flash "video" in your mind of the split second of contact. In this split-second video, you should be able to see the direction and speed the racket was going at contact. From this, you can judge the type of spin. From the racket speed, and the speed of the ball after contact, you can judge the amount of spin.
What happens if you absolutely cannot read the spin off the racket? Or if contact is hidden? If the contact is hidden (which isn't legal, though it often isn't enforced), you will have to read the spin mostly from the ball alone. The type of sidespin on the ball should be easy to read from the general racket motion - left to right or right to left. It's the reading of topspin vs. backspin that's tricky.
A ball with backspin tends to travel in a line, and slows down when it bounces on the table. A ball with topspin drops quickly, and jumps when it hits the table. A sidespin ball will curve sideways in the air, and jump sideways when it hits the table. If you let the ball come out to you and take the ball late, you will have more time to read this, and make the proper adjustments. However, reading from the ball alone will make your receive more tentative and late, and so less effective.
Eventually, reading spin will become more and more natural, and you won't even think about it so much. Then you can concentrate on what to do with the ball.