Depending on the frequency of the bus route I'd prefer adherence to a schedule vs. efforts to minimize bunching. With frequent buses I think the schedule ends up being irrelevant - but if the hourly bus I occasionally take pulls in fifteen minutes early or late then I will be pissed, especially on the early side.
Of course, if it were possible to open only the back doors and let people off but not on, that might help, at the expense of leaving the people waiting to get on enraged. But then you also have the problem that on a crowded bus it can be really tough to squeeze past the rest of the passengers to get off, which also slows everything down.
The whole thing is miserable, and mostly these routes just need more buses (plus the articulated ones that hold 60% more people).
It noticeably speeds up things.
Anyways, with downtown buses I'll often do this voluntarily, if the bus is full I'll wait until the stop after mine to pull the cord, and disembark at my stop or one before if someone else is getting off - a block or two of walking isn't going to hurt anyone.
Why they bunch up is actually a different reason: the operators don't give a darn about sticking to schedules and/or tracking the other buses and maintaining space.