It is still impossible to change audio volume for headphones before the app begins playing.
Consider this scenario:
- Use iphone at max volume to power speakers (pseudo line-out)
- Switch to sensitive IEM's later, attempt to change volume before starting... can't. Just changes notification volume.
- Begin playing music, rupture eardrum if IEM's in.
Fortunately iphone doesn't push enough current to damage the hardware (which can be replaced), but it is plenty enough to damage hearing (which can't be replaced).
I have yet to find a way to change headphone volume without initiating playback.
Android's volume control is a mess but at least it is possible to change these volumes.
Blackberry 10 handles the situation best: It remembers the volume for line-out usage and remembers the headphone volume used last. If Apple can detect headphones are unplugged they can detect line impedance vs. headphone impedance.