I know it's not likely to be very popular around here but if Clarkson actually struck a co-worker over the lack of food service he deserves to be sacked in my opinion.
Of course it could have started as about food service and escalated: "wtf there is no food", "yup", "fucking fix it", "fuck off", "no fucking fix it", "Shove it up your arse you prick".... punch. That wouldn't be grounds.
I do agree that BBC needs to figure out what they want to do.