I liked Scream-Free Parenting a lot.
http://www.amazon.com/Screamfree-Parenting-Revolutionary-...
Notice that the misbehavior is worse at bed time, that means that while he is learning to control his behavior, it's too hard when he's tired. Use that observation and find ways to avoid that excessive tiredness (as much as possible).
We used time outs at this age. If our daughter hit someone we would just put her in the pack n play and walk away. Time outs are usually recommended to be a minute long for every year of age, sometimes I'd go to 3 or 4, but longer than that doesn't have any benefit.
It also helped me to note that while a short time out can be useful, yelling has never had the slightest benefit. It actually amazes me how totally ineffectual it is in getting any kind of positive response! Seeing that helps me to be motivated to find better ways of dealing with the situation. I just have to remind myself that I want to change the negative pattern more than I want to blow off steam.
Another book I've been reading lately is Brazelton's Touchpoints 3-6, which is for older kids than yours, but an interesting point he makes is that learning self-control is a lifetime endeavor, and some adults never get it. It's even harder at 2, because he doesn't have the neurological development yet to master it. We do, though, and we can model self-control for our children.
He might be old enough to talk to about this, too. "I'm really angry right now, and I feel like yelling at you, but I'm not going to, because I'd rather we talk in a civil tone of voice." "I see that you aren't able to control your behavior right now, so I'm putting you in a place where you can't hurt anyone, so you can have a chance to calm down."
hth