Well, here is an old staple. Approach the baseline and stand in the position you normally would to make a serve. Then take your racket and place it 6 inches to the right of your feet (assuming you're right handed) and the middle of the racket face 6 inches in front of the baseline. So you're now standing at the baseline in a serve position, with your racket on the court to the right and in front of your body. Now go ahead and make a service toss as you normally would, and see where it falls. Your goal is to have the toss land right around the head of your racket. If it bounces within a ball width of the racket head, it was a good toss, bounce it off the strings, and its dead perfect.
Hold another racket in your right hand if you'd like it to feel more realistic. Make sure that when you make the toss its high enough that you could go through your motion and make contact at the very top of your reach.
Keep repeating until you're able to toss 10 in a row that bounce within a ball width of the racket head. By the time you can do that your toss should have improved a great deal. All you need is repetition and some kind of immediate feedback so you know if its in the right place or not. The racket on the court gives you that.
Hopefully that helps. I can post my thoughts on actual toss technique as well if you like. Cheers