I agree all the fault is on management. Managers need the ability to get rid of people. Hire fast, fire fast. We fired one person on our team a few years ago... Took 6 months of painful documentation.
Hiring to meet a metric still goes on. GM IT is still hiring new college grads. Quantity over quality. The money is better spent on the college grads hired several years back, that senior developers have been painstakingly training. Those high quality level 6 are paid much below market level. This silly hiring directive is coming from above.