maybe your proposal solves another problem: that of errors at multiple #include "filename.h"
for example, there is a mainfile "main.c",
a math helpfile "math.h",
a display help file "display.h"
a sensors and mux helpfile "sensors.h", and
a navigation help file "navigation.h"
what, if main.c uses math functions of math.h, sensors.h, display.h, and navigation.h,
sensors.h needs display.h (for compass calibration)
but navigation.h itself uses math.h and sensors.h (for the compass).
You can't always cascade all the header files, there sometimes ar cross-dependencies.
A linker could make it easier, but maybe your #pragma statement solves this, too.