One thing I think has resulted in an enormous slowdown of software is the proliferation of XML. Text processing is slow, especially parsing hierarchical lexical trees like XML. The more applications we base around things like XML, the slower the whole shebang gets and the more processing power we need just to get back to status quo.
I really dislike XML. I avoid it as much as I can. I agree with you that it probably is responsible for a lot of slowness and padding of data.
I do like flat files for configuration, and in my projects I usually use my own variation on the INI file. I won't bother describing how that works right now, but it is very versatile and easily editable with notepad.
What software shouldn't be doing (but I fear it does do) is "think" in XML. It would be bad if data remains in memory as XML formatted text and has to be parsed/re-encoded every time that data is accessed or changed.
Software should convert data into binary where it is to be used internally. It only needs to be parsed once, and data only needs to be text encoded once in a final output, like when the user orders a file to be saved to disk... and only then if the user is expected to want to edit that data.
In my experience, data is not represented in memory as XML. Rather, the XML is a storage medium. When you read it in, it gets mapped to an object structure (or some other relatively efficient binary representation), and then when you're done with it it can be serialized back to disk as XML.
There are exceptions, but usually that's how XML is used. I would say if you have a static bit of XML that needs to be used over and over, it would be best to keep the binary representation around instead of constantly reading the XML. But some applications are stupid.
There's a build tool called NAnt where you write your entire build script in an XML dialect. Yes, actual code is done as XML. It's hideous and a pain in the ass. I definitely don't support using XML as that kind of blunt tool. XML is good for storing complex data, but it isn't fast and it shouldn't be used as a programming language.
For my own projects, I like delimited flat files. I'll use XML if the data structures are complex, but another option is serializing the data's binary format. This is typically not cross-platform, though, so your data will be stuck on whatever architecture generated it. Part of XML's strength is that it is never tied to a specific platform.