A number of suggestions have been made, including some that frob files in /etc/emacs/site-start.d to check if "their" package is still installed. IMHO this is the wrong approach.
My suggestion: * Put files somewhere under /usr that make sure that each package works, such as via autoloads and suchlike. * Any other customization that the user might wish to change should go in /etc/emacs/site-start.d. Then, those files would just contain a bunch of setq statements which are harmless in any case. * Use the built-in mechanisms for Emacs to frob load-path, for exampe. Emacs reads files called subdirs.el from all directories in load-path, I think. This last item might interact badly with the Debian policy of separating *.el and *.elc, I'm not sure. WDYT? -- This line is not blank.