When you serve, do you just serve? Or do you stop and visualize the serve first? And when you visualize the serve, do you visualize all of it, or just part of it? You should visualize the entire journey the serve takes, all nine feet of it (or 10.3 feet, if you serve crosscourt).
Contact point: How high from the table? Most players contact the ball too high, and so the ball bounces too high. Also, how far behind the endline? For spin serves, contact the ball just behind the endline - any further back simply gives the receiver more time to react, plus it's harder to control the depth from farther back, especially if you want to serve short. For fast & deep serves, contact is farther back so that the first bounce can be near your endline. Finally, where on the racket is the contact? For maximum spin, generally on the point on the racket furthest from the handle (the fastest moving spot). Or near the handle if you want to fake spin but serve no-spin. Visualize the contact.
Spin: How much and what type of spin? You should visualize this very clearly before serving. Also visualize any extra motion you use for deception, such as a changing follow-through to deceive the receiver.
Speed: How fast is the serve going out? If it's a spin serve, you don't want it going out too fast, as that would mean much of your energy went into speed instead of spin. However, even for a short serve, you might want it to have some pace to rush the opponent and to make it harder for him to control the return. Visualize the speed of the ball.
First bounce: Where on the table? Generally, for short serves, the first bounce is nearer the net. However, the farther the bounce is from the net, the lower you'll be able to serve as the ball will have a lower trajectory as it passes the net. You should clearly visualize where the ball is going to bounce, as well as how it will bounce out from there. (On the first bounce, spin doesn't take nearly as much as the second bounce, but it does affect the bounce some.) This is probably the most overlooked part of serving.
Curve in the air: How does the ball curve through the air? If a backspin, it should float; if a topspin, it should sink; if a sidespin, it should be breaking sideways. Visualize!
Height over net: You want the serve as low as possible. Visualize this! If it is bouncing too high, then either your contact point was too high, or you are serving downward too much.
Bounces on far side: Where is the first bounce? How does the ball break from the bounce? How high is the bounce? If too high, perhaps try serving so the first bounce on your side of the table is farther from the net, so the ball can cross the net with a lower trajectory. Given the chance, will there be a second bounce, and where would that be? Visualize it.
Putting it all together - the serve as a whole: Once you've visualized all of the above, you should think of it as one continuous thing, not a series of discrete parts. Visualize the contact, spin, speed, bounces, and path of the ball as a whole. Then serve a winner!