This last point is so important. It is - in my view - the ethical responsibility of the employer to take on people without putting their lives at risk. I learned this lesson painfully about 12 years ago when I had to let an employee go after 6 months due to a crash in one part of the company...
Firstly, I am no fan of the way that zero hours contracts have been abused by many firms for whom it is seen as a process which excuses them from proper planning. It is lazy business.
However, I take issue with your over-simplified view of business, that it is "the fault of the employer for (a)...