So, if gradient removal is really good, wouldn't that just be able to suck out the light pollution?
Light pollution is not just a gradient. It's also a pedestal. And significantly light pollution is mostly pedestal.
I'm having a hard time thinking of a concise, understandable way to say the following, but I'll give it a try...
Let's say that you have an object that has some faint areas that are only 7 or 8 ADU worth of signal. Now let's assuming that you have 200 ADU worth of light pollution. If you do nothing to identify and subtract the light pollution, then you'll be looking at an area in the image where the are pixels that are 200 ADU in proximity with pixels that are 207 ADU. Those pixels are going to be quite hard to distinguish from each other by eye. Now if you could subtract, say 195, ADU from every pixel in the image, then you'd be looking at an area with background sky at 5 ADU and your object's faint data at 12 ADU, Those pixels are easy to distinguish by eye.
Now that is a very simplistic view of the situation. Assume that you have a "perfect" camera with zero read noise. The shot noise contribution from a 200 ADU light polluted sky will be 200, plus or minus 14 ADU (which is close to the square root of 200). So you get a range of sky values that are varying mostly between 186 and 214 ADU. Your 7 ADU faint object signal will be plus or minus 2.5 ADU (square root of 7).
Given the uncertainty from the shot noise, you can (and will) have some faint object pixels that are lower values than some background sky pixels. Obviously, this would make it very hard to find that faint signal. You can see this pretty well in Jon's normalized example. The light polluted image is grainy because some of the pixels are simply indistinguishable from the background sky because their pixel value is lower than the sky values due to the shot noise.
There are two ways to attack this problem. The best way is to reduce the signal from the background sky, which is what you get by imaging from a darker sky. You can also reduce the uncertainty in the background sky signal by greatly increasing the total integration time, which helps to reduce the uncertainty of the pixels (since signal grows faster than noise over time). Note that there is a point where this simply becomes impractical.
My point in all of this, is that to make a fair comparison by eye, you need to go through the exercise of trying to subtract the background sky values (and also addressing gradients, which are likely also present). The STF auto stretch is not going to do this for you, so it's a manual thing. Also, none of own perfect cameras, so there is also read noise, which impacts this a bit.
I'm thinking about Jon's idea of writing a script to automate this. I'm really, really new at writing PI scripts (I have one nearly finished that will help to fit narrow band images to each other based on selected background and highlight areas, but it's my first one). When I get some time (which oddly enough is harder to do right now, since I'm working full time from home), I may play with the idea...