This is a common problem with mp3 files.
I can't tell you the answer but I can put you on the right track.
The feature you need is called "Normalization". When you process your mp3 files with 'normalization', it scales the digital data in the file so that the very loudest portion of the song will just meet a full-scale digital value. If this is done for all mp3 files, you will have far less problems.
I have a program "Total Recorder" (not free) which can load any mp3 file and resave it as a normalized file. But that is a lot of work if you have hundreds of mp3 files.
Perhaps someone out there knows software which can operate on an entire folder of mp3 files and normalize everything.
Alternatively, perhaps someone knows of playback software which will not require altering the mp3 file, but will prescan the mp3 file to find the loudest portion, and then normalize the playback only.