(b) how to ship systemd unit files and associated configurations in a sensible manner, especially if you also want the program available as a cargo crate via cargo install?
Don't use cargo install. It's unable to track what files have been created on installation, so cargo uninstall will only remove the main executable, and leave behind junk systemd config.
You can use cargo-deb to make a proper installable package.
Yeah, I suspected there's no good way to do that using cargo install. I do still want to publish it as a crate and will still recommend cargo install for people who want to use it without systemd.