I hope this suggestion isn't patronizing at all. But one thing that helped me so much is staying really regular with eating and sleeping. When my son was a baby, I read that they need at least 11 or 11 1/2 hours of sleep just at night (not including a 1 1/2 to 3 hour nap) at this age (my son is about 2 as well). When he gets it, it makes a huge difference. The Baby Whisperer (www.babywhisper.com) says that children 5 years and under need to go to bed by 7 or 7:30 because they will often still wake up at the same time in the morning regardless of how late they went to bed.
Many moms feed their children just on demand or 5 or 6 hours apart. In my experience, my son needs a meal or a nutritious snack every 2 or 3 hours!! I know, it's hard, but it works. I've read extensively about balancing blood sugar and how it keeps your mood even, and I have tried to apply it with my son. I always feed him protein first, before anything else, followed by vegetables, fruit, or whole grains. I swear this makes a difference. The protein (fat does it too) slows down the release of insulin, so the energy is released slowly. That way you avoid a blood sugar spike and then crash (CRANKY!!). It may sound crazy because I don't know anyone else that does it, but I promise it works.
The only other suggestion I can think of is to keep the TV and radio off most of the day. I've also read a lot about how TV (watching for sure, but even just the constant background noise) really overstimulates kids and keeps them from being able to explore and learn. Plus it makes them cranky.
I'm kind of an obsessive reader, and these are just the best suggestions I've gleaned. Kids also have different temperments, but don't write it off to that until you know for sure he is well rested, well fed, and has plenty of peaceful, noise free time.