The lead bus can slow down between stops and let the empty bus overtake. Essentially "stop" several bus-lengths before the next stop and let the empty bus overtake and pull into the stop ahead of it.
The full bus pulls in directly behind the lead bus and lets passengers out.
The bus in front will have more people, and more likely to stop to let people off (and on).
Meanwhile, the one following behind will be emptier, and thus less likely to need to stop, meaning it can easily pass the one in front (while that one is at a stop for entering/exiting passengers) and then itself take on more passengers at the stops ahead --- which then gradually slows it down too, but at the same time the one behind will be mostly emptying.
Wouldn't that mean when the bus overtakes it's now taking more passengers and therefore slowing down. The bus it just overtook (which would have quite a few passengers) is now speeding up (but also having to drop off passengers, possibly even stopping at the same stops the previous bus just stopped at.
So it just adds more bunching, doesn't fix anything.
If the bus that overtakes doesn't stop at the next stop but overtakes several stops (or until a passenger needs to get off but should be rare as emptier then the bus it overtook). And then start from there.
Someone mentioned this solution but called it random teleport.
The full bus pulls in directly behind the lead bus and lets passengers out.