Oh poor you Zebra - this is a toughie. How frequently would you say he has this sort of tantrum?
DS1 was similar to what you describe, but a little older - just had his 5th birthday, I would say. With him - with the help and support of school - we talked to him (at a non tantrum time) that it was completely unacceptable for him to lose his temper in this way (it is for a 5 yr old, am not sure it is for a 4 yr old - control of strong emotions is a tricky thing), and that he HAD to learn to control it. We set him a target of not losing his temper for a week, and then a month - the final reward was a merit certificate in assembly at school.
He is 6.5 now, and still feels emotions very deeply - for instance he gets very, very excited about things - more like a 3 yr old might than a 6 yr old. Anyway, he still does occasionally lose it, but can hold it together for a little while even when he is 'about to blow', and that gives me chance to calmly point out to him the consequences ... we usually have some sort of ongoing sticker chart or pocket money bonuses or whatever, and he has now got to the stage that he can control himself usually in order not to lose the reward. So, "you can throw that now if you want ds1, but if you do you won't get a sticker on your chart will you?"
He very rarely gets violent now, and I have always treated this firmly and consistently. If he does have an outburst we send him to his room, and yes he does tend to make a big mess before he calms down. But if he does have those emotions inside, I would rather he throw his duvet, pillow and mattress about, rather than hurt somebody.
Hmmm.... now my ds1 sounds horrible, doesn't he? He isn't at all, he's gorgeous, and I'm really proud of the progress he has made in this area in the last 12 months. Learning to control strong emotions like anger is hard for all children, but it is harder for some than for others.
Only other gems of wisdom are the standard praise, praise, and more praise. Give him a sticker for every day/morning/hour (as appropriate!) he doesn't have a tantrum, and a reward if he gets 7 stickers in a row. That way you are rewarding the good behaviour.
We have a big library here, and have had some good books from there - possibly 'being angry'. Children don't like feeling out of control in this way, and talking about it - at a calm moment - can really help.
HTH