Shevek, the thing you've observed is an extremely important issue. This kind of thing happens any time there is a legal document, like a contact. But it applies to all contacts, laws, laws proposed in congress (and how, specifically, those laws will be applied).
I do not know "the" solution. I don't even think there is one, but understanding the problem has, at least, some explanatory value.
Here's the problem: the laws requires legal language the "absolute." That is - a laws must be written in such a ways that, in ANY circumstance, the law does the same thing for everybody, no matter who they are (a law applied to poor people MUST also applied to rich people).
Unfortunately, life is NOT absolute. Life is way mushy, and people have a wide assortment of needs, skills, and abilities. So, generally, laws have lists of specific exemptions, and need a professional (a judge) to determine how the law applies.
Double unfortunately, the way this is done is for the judge to look at the EXACT wording of the law, but not quite the intent of the law.
The mushiness of life is dealt with by becoming more rigid.
This is abstract. Here's how it works in the situation you've described:
The contract was written to protect the teacher from indiscriminately being fired. For a teacher to be fired there is a series of steps - each one acts as a notification that there is a problem, and gives the teacher an opportunity to properly modify their work and continue employment.
This is a very good thing. For example: a teacher's boss is the principle. Imagine that my current boss values the work I do. All is cool, I have a job.
Suddenly, the principle is replaced by a new person. This person has a theory that all the teachers will do an insane amount if group work. The guy meets ME, the weirdo who frequently fails to wave and say "howdy" on cue, and decides I don't fit into the big master plan, so he decides that, despite the quality of my overall work, I need to go.
The law protects me from that because I can only be fired for things detailed in my contract. Failure to wave isn't listed, so I don't end up economically destroyed because "the boss" doesn't value the way I do my thing.
But that creates a problem - the rules describe specific things a person really should be fired for (example: showing up for work at 7:30am drunk as a skunk). But some people are able to be repeatedly and/or continuously be "almost bad enough" (arriving at work incapacitated by a hangover is bad, but not listed). This person may be a horrible teacher without meeting the legal criteria for firing. A judge, looking at the written contract and the data regarding the teachers failings would say "illegal. You can not fire that person.
To summer this up, laws written to protect the innocent also protect those who may be pretty close to guilty, but are not quite there.
Loosening the legal interpretation (being legally flexible) seems like it ought to solve problem - and does, But but but - the downside is that it would also make it possible to fire a guy like ME, who may be very effective, but has, uhm... shall we say " personality traits unrelated to effective teaching" but are "not in accord with management's
vision."
I don't know what the solution is - rigid laws create loopholes. Mushy laws allow unethical actions.
If anybody knows how to solve this kind of thing, please apply for the job of president next November. America needs you -

.