I agree. I think we need a protocol which is both package manager (dpkg, rpm) and environment (emacs, python, ruby) agnostic, with plugins to handle the specific cases.
I think the starting point should be an RVM/perlbrew-alike for each environment; that'll keep the environment developers and those who like to be on the bleeding-edge happy. Then plugins to handle {gem,elpa,pip,...} -> (sufficiently general intermediate format) -> {deb,rpm,msi,...}, and we're done.
I challenge you to design a useful system that works, but is general enough to integrate both dpkg and rpm.