Hi P., what a pretty name you have! Welcome to the terrible two's! I think first you need to rule out any medical reason this is happening. Sometimes kids are in chronic pain and can't tell their parents, so they act out. Could he possibly have a sensory disorder? You need to discuss all this with your peditrician at his next appointment. If medical reasons are ruled out then it looks like you just have a difficult child.
There are other ways to deal with a toddler then just time outs. It sounds like your son feels frustrated and like he has no control over his world. Try to imagine being a toddler. He is smaller, slower, can't communicate the same way these "big people" can, and gets no "say" in daily activities. Most of what he wants he is told "NO". Now you have to try to understand how a toddler brain works. Their little brains are not as developed as ours. They don't process information like we do, they don't understand like we do. They are ruled by the right side of the brain. The impulsive, emotional, distractable right side! Especially when they get mad or upset, the right side completely takes over and shuts down the left side of the brain. That is the logical, calm and rational side. So when a toddler get mad, you are dealing with an irrational mad man!
I suggest first start by making him feel more confident and in control. Start by letting him "win" a few daily "battles". Maybe a pillow fight. Have a gentle pillow fight and let him win. When he hits you with the pillow really act like he is super strong and pretend he knocked you over! Then tell him how strong he is! In the morning pull out two shirts and let him choose which one he wants to wear. But only give him two choices! Any more and he will be overwhelmed. Offer him a banana or yogurt for breakfast and let him choose which one he wants. These little things will make him feel like he has some control, and he is winning at least a few "battles". At night before bed sweetly tell him all the good things he did today, what a good boy he was. Pick up his teddy bear and (in front of him) tell the teddy bear what a good boy you have. Let him overhear you telling other people what a great kid he is.
Now here is a different approach to a tantrum. It might seem strange, but I think you are ready to try something new. Lets say your son's name is Jimmy. Now lets say he is throwing a tantrum because he wants a cookie. As soon as the tantrum starts get down on his level (or even a little lower) look him in the eye and say: "Jimmy really wants a cookie! Jimmy says I want a cookie NOW! Jimmy wants a cookie NOW NOW NOW!" And really be emotional about it. Really use your hands and arms and really get into it. Keep doing this until he starts to calm down. You may have to repeat those words 3 to 8 times until he calms enough to hear you. But once he does "hear" what you are saying he will stop and think "wow, mom really gets what I'm trying to tell her. She really understands me". That is when you tell him no cookie right now, but lets go draw together, it'll be so much fun to draw together! I have seen this work with many toddlers. Once they are calm, that is when you distract them. And they walk away thinking they were really heard! They think you really do get them and understand them. After all, that is what we all want! To be heard and understood. Imagine if you had a really bad day and someone really made you mad, when you told your husband about your day, you would really want to feel like he understands how you feel.
Give this a try and see if it works for you and your son. It might not, but it just might! I recommend you go to the library and check out some books. There are shelves and shelves of books to help parents. And don't forget to talk to your child's doctor. I would ask the doctor about a possible sensory disorder. But honestly your son sounds like a normal two year old! Best of luck to you P..