T.,
I have a 2 1/2 year old who goes through the tantrum thing regularly. He was wonderful and then one day, he was Mr. Tantrum. Bad ones, too. Screaming, hitting, kicking...you know what I mean, right? I had lots of moms write in with various advice, from simple suggestions to 'take your son to get therapy'. Nothing works all the time, but there are a few things you could maybe try.
The first thing is the hardest: stay calm. If you get upset, he's only going to get worse. I have yelled and cried and been ridiculous with him, but calm is the only thing that is going to make it better. Once you let him know that you are in control, it's going to help him. Toddlers have so many feelings going on inside that they just can't express. When they are having a tantrum, they are really afraid. It helped me to think of it that way, not as a tantrum, but as a panic attack. It helps you to sympathize with what's going on. He isn't a bad, wild child; he's scared. He needs help learning how to express himself and help calming down.
To help him learn about his feelings, I took some paper plates and drew faces on them with different expressions and wrote them on the back (Vito is happy, Vito is sad, etc.). We go over them now and then so that he can kind of put a name to what he is feeling. When he is starting the tantrum, give him the plates to see if he can show you what he is feeling. My son has used them to express himself. He's also thrown them at me, but it is worth a shot.
A friend of our suggested that you just hug him and tell him you love him. Again, sometimes he hugs back. Sometimes he hits me. It is a great feeling, however, when he does hug me back.
Someone at mamasource suggested telling my son how he is feeling "Vito is angry" "Vito wants a toy and Mommy said no"...that sort of thing. It gives a name to what he is feeling and acknowledges that you know what's going on with him.
Distraction is great, too, but it only works early in the tantrum for my son. I kind of know what sets him off, so if I know something is going to be a problem (like changing his diaper), I try to work around it. For diaper time, I start with a game of Simon Says and work the diaper into it. Simon says lay down, etc. My older son plays along, which helps big time.
I've learned to not ask him any question that he can answer with no. I read on a website that you have to work fast, talk fast and don't give them time to object to things.
As for the milk at bedtime, it's very interesting to me that you are having that problem. My son was always good at bedtime until about a month or two ago. Then, he started with tantrums at bedtime. I have always had a very solid bedtime routine with him, so it didn't make any sense. I tried all the Supernanny suggestions and all of that. It just didn't work for me. Finally, I put him down with milk at bedtime. I take it away once he's asleep. I just thought it might be better to deal with that problem later than no sleep right now. I don't like it, but I gave in on that. I wish I had some advice to get around it. You could put it in a thermos or something so that he sees it when he wakes up and doesn't scream. I know that isn't the best answer. I hope someone has better advice than that.
The most important thing I can tell you is that you are not alone. You are not a bad mother. Your son is not a bad boy. This is a very difficult time for both of you, but it will pass. In the past few months, we've been able to minimize my son's tantrums and make them less severe. There was one day where he had SIX tantrums before 10:30 AM!!! I counted!! But it does get better. Your son will, too! Good luck!