I feel the OP is valid, even without proposing a solution, because it highlights the fact that CCP consistently advertises the “huge single shard massive space battle” experience without being able to deliver.
I’m well aware that CCP has no problem with a total disconnect between what they spin/promise/advertise and what they actually deliver. Part of the difficulty in attracting new players to the game is that CCP/Eve is treated with considerable disdain whenever the game is mentioned in other gaming venues (at least, in my experience).
Basing much of the game hype and having many game design features push players towards large alliances and large battles which the game is incapable of supporting is unsustainable. CCP shoots themselves in the foot every time a large-scale battle breaks down into unplayable lag and then crashes.
The combat system needs to be reworked, from both ends. Large battles happen a handful of times a year - you lose players if that’s a significant “hook” you’re using to attract and keep them. There needs to be more emphasis on smaller-scale combat and viable reasons for engaging in same.
Large-scale battle mechanics need a full rework. @Dyver_Phycad 's notion of breaking large battles up into distributed “node point” battles across multiple systems is interesting. I don’t feel it resolves the issue of thousands of players piling into one system, but could perhaps be blended with other solutions.
Limiting player numbers can also work, contrary to what some posters have stated. It just requires significant changes to the process and some loss of freedom of action. For instance, once combat is engaged and more than say 600 players are involved, the server creates 3 ‘factions’ based on the FCs of the two largest opposing fleets: faction A, opposing faction B, neutral faction C.
1,000 slots are reserved for A and B, 400 slots for neutral C. All players in-system, or warping in, answer a dialog declaring their status as A, B or C, just like the current “System is controlled by X, continue?” dialogs. Anyone not declaring is warped out of the system or blocked from entering. Once a side is declared, it can’t be switched until battle is complete.
It would be clunky and tedious perhaps, and still may not even solve all the problems. That still beats “unbearable lag followed by complete node crash” as a result. It also resolves the “better performance will just lead to more numbers crashing it” issue - as CCP improves performance they can adjust battle limits to fit.
As @Gerard_Amatin pointed out, it’s not up to players to resolve this. CCP created the problem, advertises the issue as a key selling point, and it’s up to CCP to create a viable solution.