Can systemd do that? I like everything else I've heard about it, but I haven't seen any documentation regarding this sort of usage.
systemd is currently adding support for dynamic service "instances", which would allow you to launch and close such services on the fly.
So, depending on how dynamic you need the list of virtual services to be, the answer is either "yes, that works right now" or "yes, that's available in the latest systemd release, but probably not in your distro yet".
For most standalone systems though, Upstart works nicely enough as long as services don't need too much coordination.
My main concern is that systemd handles too much and I feel it's going to be hard to change. I guess we can start using systemd without removing supervisord and move from there.