Time Dilation is the in-game solution for this: the simulation is throttled so the game runs slower for everybody, but doesn't kick people off. Last time I checked, time dilation could go as low as 10% normal time- meaning you can only fire at 10% normal rate, move 10% as fast, etc. It feels like your ship is flying through molasses- it's not fun, but is also more fair for all players.
Alliances that know there will be a big fight can fill out a form with Eve Online to "schedule" the fight so that star system can be migrated to a larger server before the fight.
All the surrounding systems still run at full speed. You can travel large distances and still arrive soon enough to matter in the fight. You can also die, respawn in another system, rejoin the fight, and barely miss anything. The positions in the fight therefore move even slower than time-dilation since ships on both sides are replaced so quickly.
Large groups have a massive advantage over small groups, so alliances are very large and join various alliances-of-alliances. The playerbase is often organized into only 2-3 major coalitions. At some points in history, nearly all the alliances have joined the same coalition, which leads to a strange pax-Romana called the "blue donut" (referring to all the ownable outer-systems being "blue" or allied with each other).
Also, nearly every player in a large fight just follows simple orders. Orbit A and shoot B. There are just a few people calling the shots.
Fights sometimes end just because people are bored, need to sleep, or go to work.