Many years ago (2000-2003?) I wrote an ArcView 3.x extension called CustomThemes that essentially tried to model this same capability. I wrote all of the "add data" knowledge (TOC Name in plain english, data path/filename, layer description, default layer colors, layer style path/filename, metadata path/filename, and more) into a database table. Then with a custom Add Data button/GUI, the layers would be symbolized on the fly when it was added to the map document based upon preferences set in the database table.
If you download the extension from ArcScripts, it has a sample database (dbf) and a surprisingly well-documented CHM help (I had forgot that I created it!) that shows the database design and the UI that I created for the custom "Add Data" process. Look in the "Developers Guide" section of the help for more specifics on how I did it.
Obviously a lot of things have gotten better since 2000, but the concept remains the same! Here is a user forum summary from way back (although the webpage is long gone).
You could probably do something very similar with QGIS without too much work.