Improving a company 101: * Get rid of HR people. * Profit.
I respectfully disagree. Get some decent HR people and don't give them the last call on hiring decisions. Make it clear that HR is supporting the process, but not leading the process and that the last call is with the department/team that is looking for a hire. Let HR take all the tedious tasks of hiring from the developers, such as all the legalese, handling employee benefits, sick reports and all associated paperwo…
But as you mention, if developers were to handle everything related to hiring, firing, sick reports, vacation, benefits, contracts, compliance etc. that HR does, I doubt there would be any profit.