Some of this is just his age- welcome to the Terrible Twos! Be warned- this can last well into the age of three as well.
I would not say 'just walk away' from him everytime- because obviously, especially in public or in a taxi, etc. there are going to be times when you can't do that. There is a difference between hovering over him and 'feeding' the tantrum and reacting in a predictable way. But here is what I would recommend.
1) First off- whatever prompted the tantrum- don't give in to what your son wants. If he pitched a fit in the store because you would not buy him something DO NOT buy it just to quiet him down. Do not EVER reward bad behavior, or you are setting up a pattern you will have to live with.
Always tell him EXACTLY what needs to stop. Say " You are not allowed to act like this and scream and yell in a store. You are going to have a time out until you can calm down."
Be specific- you can also start to encourage him to USE HIS WORDS to tell you what is going on with him. At his age, he is just learning and doesn't have a huge vocabulary, but its never to early to start giving him the idea that TALKING about something is better than screaming and kicking! Always repeat the 'use your words' phrase and encourage him to ask for what he wants- even if it is something that is just not going to happen, lol.
If it is something physical- he does not want to go into his car seat or stroller, etc. then you are going to have to hold him and strap him in. It will be difficult- but you can't afford NOT to do this, so he is safe, especially in a car seat. Once he is buckled in, if he keeps kicking and screaming, at least he's in the car seat!
2)Always be consistent. this can be SO HARD- it is very frustrating and embarrassing when they act up like this, especially in public! But you need to be THE GROWN UP and always stay calm! Just remember- sometime 'winning' this battle with a toddler is about being able to stay calm- not that everything goes perfectly.
3) If you are in a store and whining starts, stop what you are doing right away and focus on your son. Tell him very clearly that his whining needs to stop and that you are not going to give him what he wants as long as he is whining. Sometimes this can head off a tantrum. If he continues to get worse, you have a couple of options:
If you can, take him out of the store immediately and put him in time out. If you have a car, strap him into his car seat and let him lose his cool for 5 minutes. While this is happening, read a magazine, listen to the radio, be PRESENT- but do not reward him with attention. After a few minutes, you can ask him if he is done. If he seems like he is winding down, you can take him out of the seat and comfort him.
Tell him you do not want him to act that way, and if he does so again, the same thing is going to happen- boring car seat and no attention! Tell him you are going to try going to the store again and that this time you want him to behave himself. IF he acts well in the store this time, reward him with a VERY SMALL treat and make sure he knows the reward is for his GOOD behavior- just as the time out was for the BAD behavior.
That works best if you have a car to remove him to, but the key thing is that you have to commit to stopping what you are doing (no matter how annoying that is or how short of time you are) and removing him to SOMEPLACE ELSE (preferably somewhere boring!) to show him that bad behavior won't be tolerated. You can do this in a stroller, on a bench, etc. Just remove him from the situation and repeat to him calmly that you cannot talk with him or go back until he stops what he is doing. Eventually he will either exhaust himself and stop- or just get bored with what he is doing!!
If you are somewhere and you CAN'T leave- such as waiting for a doctor's appointment- pick him up and physically hold him close. Again, repeat calmly that his behavior is not acceptable and that you will not let him down again to play, etc, until he can stop what he is doing.
This is so frustrating because you will have to do it OVER AND OVER , always the same, before it really sinks in. Toddler's little brains are absorbing so much stimulus all the time- sometimes they just go into overload!!
4) Set yourself up for SUCCESS! Seriously, look at your routines and patterns with your son. Is he watching a lot of TV? I have to tell you, that makes little kids MUCH more irritable and cranky IME. Less TV time means they have to LEARN to entertain themselves better with a little board book or blocks or cars. It will help teach him to be used to entertaining himself where ever he is- and you can always be prepared with some toys and books in your bag.
Also, keep snacks with you at all times! Little kids only need to eat very small quantities of food at a time- but they get hungry again quickly! A lot of meltdowns can be prevented by having a snack ready.
When my son was small, after a tantrum, I would always ask him to apologize to me for his behavior and ask him if he understood that he was not going to get a 'reward' by acting that way. Also- I would apologize if I had lost my temper and yelled at him. Fair is fair- we get mad at each other sometimes, but we do the best we can and we always say sorry and we always LOVE each other. We still say this today and my son is 10!
Last but not least- this too shall pass! ALL little kids go through this 'phase'- anyone who tells you their perfect darling NEVER had a tantrum is lying, lol! The key thing is- do you want this to be a toddler phase- or do you want this to be a set up for how your kid acts when he doesn't get what he wants FOREVER? Seriously, how you handle this now is going to set the stage for your son for years to come, so get a handle on it while he is little and save both of you a lot of stress!
In a store or public place, most mamas will be sympathetic. We've all been there at least once! If people are mean about it or rude- forget about them! There will always be people waiting to judge or be critical. Just ignore them and parent your son. Good luck- you can handle the TWOS, I'm sure!