That third "make a noise as loud as you want the volume to be" one would actually be a good idea, if it was a continuous feedback loop: I'd love if there was something I could enable that would make my headphone volume "track" the loudness of the room, the way that phone display backlights "track" the brightness of the room. Instead of setting a target carrier wattage (regular volume) or a target SPL (SoundCheck volume), you'd be setting a target SNR, and then the OS would maintain it by lowering the master gain in quiet places and raising it in noisy places.
Or, to put that another way: I'd like to be able to hear my music, but I don't want the people around me on the bus to be forced to listen to my music. Electric vehicles (like my local bus system) only make noise when they're moving; they're dead silent when they stop. So right now, I actually have to turn my music up several notches when the bus is moving, and then turn it back down several notches whenever it stops. Why is the phone not doing this for me?
(Heck, while it's at it, why not recognize nearby human speech specifically, and pause and/or duck the playing sound temporarily to let me hear it?)