On Android I installed an app that lets me scale the global volume for this. It's called "Precise Volume" and seems to work well. I wish I could tweak the "gamma" of the volume slider though: I want to make quiet side quieter without making the loud end quieter so that it works both with headphones and with other devices.
That's a compressor/limiter. A simple feature that for some reason no one seems to ever implement in any consumer app/player/device. There may be some android apps for that on XDA and for rooted phones only.