Completely rethink and restructure your whole ethos and attitude to how you treat staff.
The staff are not the problem the company and the management are.. The employees leave because they come to a personal understanding that they can do better..
Listen to the people on the ground making you money fitting your assets rather than the absolute tools you have handing out and planning the work in the offices - you want 5 duels plus emergency jobs to accompany 200 miles plus driving while working over 17-18 hour days..do you honestly think thats acceptable - the main problem is the management its extremely poor - question it and you are met with the response don't like it you know what do to - thats been your motto and until that changes the revolving door will continue to spin.
Change the attitude taken to staff. Build trust not doubt as the way things are done forces people to question how valuable they are to the company. You can't suspend over 40 engineers on average over each week without questioning if perhaps management have got something wrong. Communication is normally the issue. Perhaps emails all the time don't work, but a well respected face to face meeting regarding changes with questions and answers would work better.