I don't think given the question as is, you are really going to find an answer.
Some amount of hierarchy is always going to be necessary. As far as company goes, you will always have a president/CEO and then you've got people under him. Are those underlings all on the same level? Maybe. Maybe this company is only 5 or 10 people. But how can you scale to 500? or 5000? Self-directing teams are a great idea and I'm all for Agile and all that, but we also need to be realistic.
Management certainly fulfills and important function. Their job is to organize all the minions so they all march in the same direction and hopefully towards a common goal. With that organization comes certain amount of planning/debate/negations that is up to the management, so that you as a developer could focus on your job at hand.
I've got my own examples of various forms of organization. For example in my previous company we "went flat" for a while. So we had a director and 25+ local people (plus bunch more outsourcing) in the department reporting to him. Because we were "agile" (so weren't but that's besides the point), we had scrum masters. And somehow our scrum masters ended up being senior engineers who had the best coding ability and yet they spent at least 75% of their time doing paperwork and going to meetings. Why would you have an engineer come up with annual budgets??? That was their idea of flat. Clearly one or two managers would have been helpful so that guys who write best code could actually code.
On the other end of the spectrum, I have a friend that works for a military contractor. They have a strict hierarchy with a lead for every two people. That's insane! The entire office is nothing but politics and from what she tells me, the entire environment is an absolute nightmare.
I work for a small start-up now and we are "mostly" flat, but I still have a boss and I'm glad I do because he gets to travel for various reasons 25% to 50% of his time, while I only need to hop on a plane few times a year. More power to him.
So to come back to your question. Managers will always be necessary. There will always be paperwork, meetings and 75 other distractions on daily basis. Whereas engineer's goal is to "stay in the zone", a manager switches tasks every 60 seconds. That's two different roles and often two very different personalities.
Besides playing interference to keep the team productive and focused, as you mentioned in your own question, a very important part of manager's responsibility is to build a productive team. That involves a) picking/hiring the right people, b) providing coaching/guidance so that those people would grow and develop and c) providing incentives/environment that would align the interests of those people with those of the manager (assuming that manager's interests are those of his boss). So in your example, with good management you could solve your dysfunctional employee problem because they would be able to either adjust attitudes or replace the non-adjustables. Obviously that would only happen is if the guy in charge of the team has enough capacity to keep track of what's going on in that team.
Is there a need for management? Absolutely. Is there need for micromanagement? Absolutely not. The role of the guy that is 5 levels up is to build and coach a team that is 4 levels up. He should be able to trust and rely on that team to give him the information he needs. If he isn't capable of doing that and has to make engineers prepare reports for him, it just means that the guy 6 levels up didn't do a good job of building and coaching his team.
Funny story, as I quit my last company, I had a chance to sit for two hours with a guy 6 levels up and ask him, "what's up". 6 months later he ended up removing the guys at levels 5, 4 and 3.
Having written this answer, at the developer level, I still believe in autonomous, largely self-contained, self-organizing teams just like you in materials on Agile.