Supplying compiler option flags within Arduino IDE

True, I could avoid including HardwareSerial, but what if I want one serial port but not all four serial ports?

The solution is to have the coder explicitly include various headers and instantiate any objects needed -- but no more than are necessary. The chips in use just don't have that much memory available for unused objects.

Also, some of the files that are currently automatically included may be in conflict with code that might be ported to the Arduino. This has already happened to me.

I do not argue that the automatically included resources are not useful. I do argue that the programmer should decide what is needed.