It's a disproportionate response to what ultimately a few punches. ( and no I don't give a damn to hear anyone's moral condescension on how horrible Clarkson is ). Sure discipline Clarkson and have him publicly apologize to the guy while paying a decent fine, but firing someone over this? Meh. Granted it's
technically them refusing to renew the contract so that is I suppose a reasonable response in theory, but in practice it's the same result.
Whatever his views, this was absolutely NOT the right occasion to say this. You don't say "We're firing him for being a total dick, but really admire him and wish him the best in the future". They could have at least waited a few days.
Why is that? It will help them stave off the large wave of anger coming from Top Gear fans over the decision. Also shows that if the rules had been different Tony Hall would have kept him, the wording of his statement makes it clear that he had his hands tied due to the rules.
I can't say I disagree in principle with the idea that everyone in a company should abide by the same rules regardless of rank, pay and popularity, but when said decision causes you to lose a big source of income as a company then I call into question the wisdom of said company.