Interesting article. I like the optparse example, I've always implemented these (Object oriented wrappers for getopt/Getopt::Opt) by hand in Perl (and re-wrote the code every time I went to a different company).
I find it much easier to use YAML (a superset of JSON) files for configuration, however, with the only draw back being tab sensitivity (which can be made easier to deal with by placing vim/emacs instructions as comments, e.g. "vim: ft=yaml ts=4 sw=4 et") . Additionally, there must be some equivalent of XML::Simple out there for Python.