The way it is done with NiceHash is really neat
I wouldn't call it that, it's a hack really, hopefully temporary until a better solution evolves. It doesn't allow to pick which algorithms to use (along with the complete lack of user preferences as you mentioned), it only works with AMD GPUs, it requires to set up a separate "pool" for each algorithm (times 2 or 3 with backups), and is generally not scalable. It's not hard to imagine that a possible future path for GPU mining might be a growing/changing list of algos to choose from, so there has to be a better way to do the choosing.
I don't think it would require an extra pool for each algorithm, just proxied ports that are enabled/disabled depending on profitability. But I agree, its a good bit of a hack (first iterations of things always are)

If you do end up implementing an algo switcher, I would like to be able to opt-out of it. I am mining X11 right now due to power constraints, if I switch back to scrypt I'll pop the breaker.
It would 100% be opt-in to use (different set of ports), a lot of our miners physically can't use multi-algo, considering a good number use Scrypt ASICs
