It occurs to me (once again) that one solution to the whole pre-boarding shenanigans is to utilize the data UA already has (or can readily obtain) to dynamically drive the boarding process...
e.g.
If there are no GS passengers manifested on the flight, don't call a preboard for GS. If there are three GS manifested on the flight and three passengers board when GS is called, then you can immediately move to the next group.
If there are no passengers with Secure Flight data indicating a DOB < 2 years before today's date, don't call that group.
If there are no passengers with a MAAS or WHCR SSR, don't call that group.
Some would require a self-identification prior to boarding for this to make sense (e.g. active military, perhaps a checkbox on check-in or the like ... assuming they're kept as a preboard group; same with those "needing a little bit more time down the jetway")
For GS specifically it seems like my flights either have 5 GS passengers or 0 GS passengers, and more often than not the 0 GS passengers, the GA is paging Global Services like an auctioneer looking for a final bid ("Any global services passengers are welcome to preboard... once again global services are welcome to preboard. Preboarding global services...")
To wander on a tangent, though there are privacy implications I can see extending that further with geolocation (either from your phone with the UA app or NFC/RFID enabled paper documents) that could further optimize boarding... so there are 5 GS pax manifested on the flight, but they're all in the UC, no need to offer them the preboard that they aren't there to accept) -- but I don't think UA IT is looking that far into the future sadly. Heck, it still shocks me that they don't leverage UC attendance data/airport progession [e.g. where your BP has been scanned/where you are at least possibly located ] in any sort of meaningful customer focused way...