I have seen full or near-full buses skip scheduled stops to alleviate this. Although from a waiting passenger's POV, having an already delayed bus that has space left zoom past you without stopping is pretty infuriating...!
Perhaps the bus that caught up to the full bus should pass it, and relieve the next stop - presumably there are extra passengers waiting at that one too, since the bus is late.
This way the bus that caught up will now risk slowing down (dealing with fuller stops), but the original full bus that was slow is likely to not speed up that much, having an above-average number of potentially disembarking passengers.
Not necessarily. If the full bus stays in front, then there will be lots of people waiting at every future stop, trying to get on the full bus, taking ages to do so.
If the full bus lets the empty bus pass, then all the people waiting at the next stop can get into the empty bus. When the full bus arrives at the next stop, right behind the formerly empty bus, nobody needs to get on, only people need to get off, so they don't need to stop as long at the next stop.