Use a wheel, not a feeling
Put your servers in an order at the start of the shift. Each new party goes to the next server on the wheel, starting after whoever took the last table. A seating counts as a turn. So does a skip. Don't add catch-up rules or time limits: the simpler the wheel, the easier it is for everyone to check.
Sections change who's next, not how fair it is
When you run sections, the wheel still decides who gets the next party, and the party sits in that server's section. If the 1st server works section 1 and the 2nd works section 2, moving someone in the order should move their section too.
A full server gets skipped, with a reason
Set a limit on tables at once (many restaurants use 6). When a server is at the limit, the host moves on, but writes down why: "at 6 of 6 tables", "guest asked for the patio", "seated out of order". With an open floor, ask the server first instead of skipping them.
Keep the record
At the end of the shift someone will say they got fewer tables. A list of every seating and every skip, with the time and the reason, answers that in a minute. Without it, it's one person's memory against another's.
How Mesa does it
Mesa keeps the wheel in your Setup order, moves sections with the rotation, skips full servers in sections mode, and logs every skip with its reason. The host taps the party size and Mesa shows who's next and which table fits.