I have something similar happen, except the family in question came very late instead of leaving early. However other family members do overbook themselves and leave after a short period of time. But my child likes parties so we keep throwning them. To keep my sanity I do not rush activities or change the order of the events. If someone misses lunch because they are not there for that part of it, oh well. If they show up and the train ride that we are taking has already started, they can wait until we get back. If they cannot stay for cake, well we are not doing cake early because you have other plans. When they get here, there are not redos. I don't get lunch out after I have cleaned it up because it takes my attention away the party at hand. I dont' give them tickets to the train ride that they missed because the train ride was a group party activitiy. Because I know this is likely to happen I verbally tell the family in question that the party starts at X time, around Y time we are all heading out on the boat/train/petting farm/group activity, and we will eat when we get back around Z time. They are welcome to join us whenever they want. I don't count on their attendance and I don't worry about them missing something that they can't show up for.
What is weird is that when they throw a birthday party they say it starts at X but some people are going to group activity before if you want to join, and the party will end at Z. What actually happens is that if you show up to group activity (swimming, zoo, movie) they arrive late or not at all. Then you go to their house at X but they are not ready, one time they weren't even home yet. You end up helping them decorate, wrap presents, cook, whatever while one of them goes to the store, does laundry, etc. At quarter til Z they get the party started which eventually ends 3 hours after Z. Once I figured this out I decided that I would make a plan that we would go to activitiy if it sounded fun doing, even if they weren't there. We would eat a snack in the car between activity and X, and then we would make a plan when we would leave. The plan might be after cake no matter how long it took, once the birthday cake was served at 8pm for a 3yr bday party that was supposed to start at 2 and end at 6pm. We might also plan to leave at the time the party was announced to end, no matter what was going on.