I'm coming into this quite late, but I wonder if there is any interest in adapting our pipeline framework we are developing for JWST to use for things like ccdproc. It would need some changes, but it's intended to handle things like logging, configuration, omitting or injecting new steps and stuff like that so that each calibration step doesn't have to deal much with that. Here's a link to the documentation:

http://ssb.stsci.edu/doc/jwst_dev/jwstlib.stpipe.doc/html/index.html

We've also been using data model classes for these steps that isolate the details of the files from the calibration code itself (the model class handles mapping the relevant information in the file into the data object). For general use, it would be up to the user to supply the appropriate keyword mapping for things needed by ccdproc (far fewer things needed for that than for JWST pipelines). Presumably the nddata object would serve this role with appropriate adapters for the data a user has to read the data in from FITS files.

If there is any interest, I can see about making the necessary changes to use for astropy.