1 - There's an excellent book that shows you step by step how to do a proper serve. It's called 'The Rules Of Table Tennis'. Get a copy and read it.
2 - Mix up serves of different length. Very short or very long are good. Any serve that will bounce two times on opponent's side (if he allows it), being the last bounce at the very end of the table, resembling a long serve (this is called '2 bounce serve') is very good too.
3 - Mix up serves of different spin. Learn to disguise the spin direction you impart on the ball. A circular motion (pendulum serves) get easy variation on this, but are not the only type of deceptive serves.
4 - Mix up serves of different speed. Note that a fast serve can be short, and a slow serve can be long. A short but fast serve is extremely effective, but it's not an easy thing to do. Heavy topspin or backspin serves are good because they change his speed after bouncing.
5 - Mix up serves of different placement and direction. Do not serve always at opponent's backhand. He's probably more used to return serves with his backhand, so at least spread it all over the table. Serve a few long backspin at his forehand, and see if he loops or not. Corkscrew serves are very good because they change his expected direction after bounce.
6 - Do not use 'pure' spins all the time. Do not serve always backspin. Instead serve some degree of backspin in combination with some degree of sidespin, and change the amount of spin for each component every serve. You give more things to handle to your opponent. Corkscrew and sidespin can be loaded with backspin or topspin, go for it.
7 - Serve from various positions. If you serve from your backhand corner with little variation, you are feeding your opponent with balls to learn how to return and even attack your serve. This is a weakness in long matches (as 3 or more sets). Serve at least from 2 different positions (what about forehand serves from backhand corner and backhand serves from mid table?). If your serve has enough variation (as variation as pro's serves) you can serve always from the same side.
8 - Attack 3rd balls that you can handle. Don't mindless kill. Go for a 3rd ball attack when your serve is returned poorly. If you serve heavy sidespin, and your opponent side-pushes it, you'll be facing a sidespin ball that maybe you can't attack. Lots of players have serves so spiny (at their level) that when they get the ball returned leaving some spin from the serve in it, they can't handle it.
9 - Combine direction of spin with direction of ball. Bounce deviation in corkscrew serves is bigger when the ball's direction is the same that ball's spin. Use this to sharpen your corkscrew serves, and to disguise them.
10 - A no spin serve disguised as a spiny serve is extremely effective. Instead of the direction, disguise the amount of spin you impart to the ball. Yes - it's even better if you can disguise both at the same time.
11 - Get a grip. Serves can be greatly improved if you modify your grip. Experiment variations on a relaxed, loose version of your normal grip, but do not change your grip because you think is cool serve like that or because top players do that. Find what works best for you. The only point in changing the grip is to produce better serves.
12 - Angle your serves. A serve that leaves the table crossing a side line is often good. Try doing it fast and short, with corkscrew and topspin (yeah it's not easy) and most opponents will have big troubles.
13 - Get the best ready position to do your next serve. You want to do a very short, heavy underspin serve? move close to the table (assuming that there is where you serve like that at your best). Remember to return to your ready position after serving.
14 - Low toss and high toss. Depending on what serve are you going to do, choose how high to toss to make your serve more effective. Short serves are easy to do if you (legally) low toss, corkscrew serves are best done when you medium toss, high toss can produce the spinier pendulum serves, low toss gives you easy switch on short / long serves. Toss as high as you can handle, as much: do not high toss because you think is cool (if you are playing to win).
15 - Decide what serve to do BEFORE tossing the ball, not when you have started your serve motion or toss. This is what you have to do before serving, by order: Calm down, stop and breath. Check your distance and position from the table before serving. Check your opponent's position and distance from table. Decide what serve to do. Re-position yourself to perform your serve of choice at his best performance. Re-check if opponent has moved due to your re-positioning. Maybe you want to change opinion and start this sequence again. Now you can serve. A good opponent will anticipate and slightly adjust his ready position when you begin your service motion.
16 - Surprise your opponent through repetition & variation. Do short serves, then one long. Do long serves, then one short. Do some spiny, then one no spin. It's not technically difficult: you only need the intention (and guts!) of doing it.
17 - Watch for opponents returning serves from his extreme backhand. This is sick. Some players have his ready position at his very extreme backhand but they are NOT fast enough to cover the entire table with his forehand. Get profit of this. When they move closer to the center of the table, serve to his backhand. Also, when he's at his extreme backhand, fire some fast, long or short serve at his extreme forehand once in a while.
18 - Watch opponent's ready position: If his ready position is close to table, he is asking for a long serve at his elbow. If he waits for reception holding his racket as he was ready to deliver a backhand, serve to his elbow a bit closer to his forehand. If he waits for reception showing his forehand, serve to his elbow a bit closer to his backhand. If he waits for reception with the paddle under the table, serve short. Long, corkscrew serves at elbow can be effective too.
19 - Know your opponent's equipment. Whatever rubber he's using to receive serves, it has certain advantages and disadvantages. It's up to you to discover how can you take profit of his disadvantages and avoid his advantages. See what spin suits better his rubber. Give him the opposite spin direction or amount of it.
20 - Your opponent can be right or left handed. Most players don't change his serves when facing a left handed player. Some left handed players serve at his right handed opponents' forehand all the time when doing her pendulum serves. I can't undestant how after they get his serves killed they keep serving to the same side.
21 - Find quickly what serves are giving your opponent the most troubles, and use them as soon as you can. Don't wait to be 19-all to use any secret weapon.
22 - Make yourself sure that you are selecting serves taking the widest range of considerations into account. Think in lots of reasons to do a specific serve, as there is never a simple approach in playing any decent player. Do not serve as a moronic robot. Think in any factor that can give you the edge.
23 - Make sure you can handle your own spiny serves when pushed by long pips or antispin (as they can come back with reversed spin). If that's not the case serve so you can handle the third ball (when you are playing competition) or keep serving like that to learn to return it (when in practice matches).
24 - Know your opponent's style. Unless your opponent is well all-rounded, his style will have weaknesses. See how he plays, and what distance of the table suits him best. Then serve the opposite (let's say that he plays at his best looping at medium distance from table, then you'll have to serve short). Find what speed and pace likes him to play and screw them right from the serve.
25 - There are several typical variations when doing serves, effective and easy to do. Use mainly: No spin / backspin, Side-topspin / pure sidespin / side-backspin (that's the variation that pendulum serves offers), corkscrew-topspin / pure corkscrew / corkscrew-backspin (that's the most effective to me - can also be done with pendulum serves), long / 2 bounces. Learn to mix sidespin serves with corkscrew serves. That's extremely effective.
26 - Weird, unique, unfamiliar (to opponent) serves are fine. Anything that the receiver is not used to and gives him problems will be fine. Just make yourself sure that those serves have no inherent weaknesses. Pendulum serves' bad side is that any player has faced lots of them, and has learnt to read and return them.
27 - Serve extremely. Try some extreme placement once in a while. Make the ball spin. Serve risky and aggressively. Don't miss serves when playing competition. Feel free to waste a few serves when playing practice matches IF that makes improve your serve.
28 - Gotta 2 different rubbers? Use them both when serving! It gives more work to your opponent to find out how to deal with your rubbers. The most extreme and different type, the better.
29 - Reglue. Serves can be more dangerous if they come from a reglued thick, soft sponge, as they are more spiny. But make yourself sure that regluing doesn't screw the rest of your game: there are lots of players who reglue and don't have the technique to control his fast racket. A sticky top sheet with soft sponge is also a very good option for spiny serves if you don't reglue.
30 - Watch out for twiddlers (Players changing the side of the racket during a rally, and using different rubbers in each side). To help you to play against them, rules were changed so one rubber has to be red, and the other has to be black. Most twiddle due to inability to handle spin, but some twiddle for tactical reasons. Some can be very hard to play against. You have to find what rubber is he using to receive each one of your serves.
31 - Develop any 3rd ball strokes. 3rd ball attack is very good. Any tactic build from the serve, designed specially to suit your style is better. If you are good at counter attack, serve long no spin and kill the incoming slow topspin. If you are good at flipping (few people are), serve short and flip your opponents' short pushes away.
32 - Do not make weird 'deceptive' motions when serving, unless you know for sure that they are effective (If that's the case, stick with it). Lots of players do motions like that (they think is cool), and all they get is are poorly spiny serves (while trying to do spiny ones), because they can't spin properly the ball with all that racket movement.
33 - Control the score. Serve changes side every 2 points, as you might know. If you score when you serve, and things are more even when your opponent serves, is because you got a better serve. No matter if serving or receiving, always play to win the point.
34 - Serve legally. I have seen very few matches with no illegal serves at all (and almost any illegal serve passes all the time). And in lots of this matches serves often decided the result. If you want to go with illegal serves (you darn cheater), make yourself sure that you can make also decent legal serves when asked. Note that when a player complains on illegal serves, he is almost always right (let's be realistic, would he complain if the serve was fully legal?).
35 - Wise experimentation will make you improve extremely faster. You can modify parameters on your serves such as: Your distance from table; height where you contact the ball (the best is at about net's height); height of the toss; where the ball bounces in your side and your opponent's side; Your grip (that's critical); where the ball contacts your racket; paddle motion and orientation; feet, knees, legs and hip motion and position; wrist, arm, elbow and shoulder motion and position; when the wrist snap happens (there should be a wrist snap somewhere in your motion, by the way); and so on.
36 - Think how did you feel last time you lost a close match by missing a serve. Don't miss serves. But missing a few serves in practice matches is just fine, if it makes you improve (they are practice matches, right?).
37 - Cooperate with other players. Watch other players (that serve better than you) serve. Ask them to teach you. It definitely won't make your serves worse. Ask some player to make serves to you, so you can see his technique. Ask some player to receive your serves. Find the best way to practice them, spending some time. If you got a robot, turn it off (those machines suck ass) and empty a ball cube into its net for each serve you want to practice.
38 - Work in your recovery of your ready position after serving. It's very important, even if you don't plan to go for 3rd ball attack. Maybe you have to choose (o alter) some of your serves in order to recover faster when playing aggressive players.
39 - Combine all tips above tactically. Sometimes you'll see evidences that are leading you to 2 opposite ways of dealing with an opponent. Let's say he has good short game (this makes you think that you should serve long) but he also can steady loop any long ball (and this makes you think that you should serve short - now you don't know what to do). You have to take tactical decisions in this cases, using what you know about your opponent and your own game.
40 - Hide your serves & go for 3rd ball attack. If you are good at hidden, deceptive and spiny serves you almost don't need to do anything else to win. That's very true unless you face players that can read any serve's spin based on ball's flight and bounce. Even top players are fooled by hidden serves all the time. In the unlikely case your opponent returns the ball, kill it hard. Even if you miss some 3rd ball kills, you'll probably end up winning a lot. Hidden and deceptive serving takes skill and practice. Just note that hidden serves is the main reason why the game is so fucked up.