I don't generally question people that are this far above my weight class on a topic - but I'm pretty sure this [1] implies that pid 1 is not a requirement.
Of course, you can run runsvdir directly under a different init. But that requires a bit of work: you now need to find another way to run your stage 1, and also your stage 3 when shutting down the container. Stages 1 and 3 are an integral part of using runit as an init system instead of just a supervision mechanism (which the runsvdir invocation in stage 2 is), so if you can't run them because you can't run the runit binary because it's not pid 1, you need to work around that. And it's not entirely trivial; to accomplish something similar in s6, I had to write a whole specific package, s6-linux-init. innerspacepilot wants to use runit with the least possible amount of effort, so rewriting a significant portion of the init sequence doesn't sound like a good match. ;)
I'm also confused why my suggestion would be put down so harshly outside of the possible pid 1 issue.
Sorry if I appeared hostile, that was not my intention; I tend to be blunt and terse when something seems obvious to me. I just wanted to stress that any alternative solution to changing the lxc config will be more costly, one way or another. -- Laurent