First of all, let me know if I'm way off base on this one!
For a while I've had an idea that would, in my opinion, solve a lot of potential problem in GNUstep. Like the title says, this idea would be implementing a global defaults file that could define defaults system wide, and not just pertaining to a single user. I did a google search and the latest reference to this idea seems to have been in 2004 but it didn't seem to have been implemented (reading the Filysystem Hierarchy Document
http://www.gnustep.org/resources/documentation/User/GNUstep/filesystem_toc.html).
My idea would be to have a Library/Defaults file not only in the user's domain but also in the System/Local domain (either one really). Pretty much it would allow for things such as theming, and basic funtionallity to be implemented somewhere else. Then, if the used wanted to change something they could do it in their own Defaults file, the biggest thing here would be that every app would always read the System wide file first, set those, then read the User's file and override whatever was different (let me know if this needs clarrification).
Anyway, I'm not going to go much further into the way I think it should work since I don't know if something like this already exists.