I just use the VLC audio compressor.
You're almost never interested in whether the audio you're listening to is absolutely the loudest or softest across the entire file, you typically just want to minimize sudden changes that leave you straining to hear something unexpectedly quiet or bracing against something unexpectedly loud. This compressor works in two directions - downward compression on loud parts, and upward compression on soft parts, bringing them both closer to the median loudness - but preserving some smaller level of dynamic range, so things still sound "good".