The Netherlands have a system in place to handle these sort of problems. When hiring anyone a contract is signed stating a minimum length of employment. If an employee is to be fired before that minimum length is up, a meeting with a mediator (typically an employment judge) is held. The company has to prove they've tried everything to get the employee to work at their expectations (re-training, moving departments, etc). If the judge determines the employee is doing more harm than good at the company, then they are let go before their contract ends.
Granted, I don't think a judge needs to be the deciding factor on letting an employee stay or go. But I do believe a contract stating expectations, a minimum employment contract (if employee meets those expectations) is necessary and should be enforced in today's business world. Even apply it to salaried, or "skilled workers". A busboy at a restaurant doesn't need a contract, but an accountant with 5 years experience should at least have that safety net.