There is a pretty simple solution to that:
1) Make everything configurable via config files
2) Only include a small level of that configuration in the GUI config tools.
Or you could even have a "customization" level slider in the config tools that shows/hides more options based on how deep you want to configure.
Or like Firefox, where some configuration is in the Edit->Preferences menu, but ALL configuration is on the about:config page.
Or even like Windows, where you have some configurations that are nowhere visible in the GUI, that you can adjust them by directly editing the registry.
That isn't a "simple" solution. Adding that much configurability adds a lot of complexity to code, and in the end you have something like KDE anyway - a gigantic mess of unnavigable menus and GUIs, all for configuration of every last piece of minutia. If you like that, then just use KDE.
But honestly, anyone looking for personalized, super configurable desktops shouldn't even be using GNOME (which I do) or KDE. They don't exist to serve that purpose. You should install something like Arch Linux, install X, and begin perusing all the standalone window managers, taskbars, docks, launchers, widgets, etc, and you can mix-and-match them in any way you want, until you have exactly what you like. That's the unique, personalized *nix experience - many independent programs working together. (And eventually, once you get sick of maintaining all that, you can come back to something like GNOME or Unity and appreciate how much easier it makes your computing life.)