I tested your suggestion (sudo apt-get install rsyslog --purge) with a patched rsyslog to do what you suggested (with the caveat that it sed's sysklogd.postrm, not rsyslog.postrm; I think that was a typo on your part).
But apt-get purges sysklogd before running the postinst (or preinst) for rsyslog. So it's too late to hack a fix in by then.
One other option could be to do an SRU for every release. But as you say, that doesn't cover people that don't fully upgrade before doing a release upgrade.
Another option is to change rsyslog to use a different user than 'syslog'. But that seems not quite appropriate. Though it would fix this issue.
What about adding the sysklogd.postrm hack to update-manager? It has a quirk system for upgrading between releases, right?
I tested your suggestion (sudo apt-get install rsyslog --purge) with a patched rsyslog to do what you suggested (with the caveat that it sed's sysklogd.postrm, not rsyslog.postrm; I think that was a typo on your part).
But apt-get purges sysklogd before running the postinst (or preinst) for rsyslog. So it's too late to hack a fix in by then.
One other option could be to do an SRU for every release. But as you say, that doesn't cover people that don't fully upgrade before doing a release upgrade.
Another option is to change rsyslog to use a different user than 'syslog'. But that seems not quite appropriate. Though it would fix this issue.
What about adding the sysklogd.postrm hack to update-manager? It has a quirk system for upgrading between releases, right?