!! How this could have been fixed.
The main problem with the story is the decision to base it entirely off the current continuity which is odd because Elseworlds normally didn't do that. Elseworlds were normally set in different time periods with completely different interpretations of the characters and by that convention, you could assume that any heroes that weren't shown simply didn't exist for that story.
Even if he didn't want to do all the work of creating an engaging alternate setting, he could have done something much easier and used only the best known characters in their most iconic incarnations (putting Aquaman back in the orange tunic with the short hair and without the hook he had been sporting at the time, using Hal Jordan as Green Lantern, etc.) He could simply avoid showing any heroes that would be problematic.
An interesting explanation for the event would have been to have the physics of the universe shift to match those of our world (or close to it.) No more speed force, no psychic energy, no emotional spectrum, no magic, and solar energy cannot provide enough energy to fuel Superman's abilities. The heroes would be forced to live by our rules. Any metahuman that doesn't work for would be ignored and because of the alternate setting, would be assumed not to exist.
This would have fixed a lot of the characterization problems too though not all of them. Don't think Kyle Rayner would spend three months in his apartment stewing about his power loss? Use Hal Jordan and make him a young Hal. Especially at the time, it would have been a good substitution since Hal had been a power hungry villain and the Parallax retcon had not been introduced yet.