My MP3 collection is about as eclectic as they come. I've got songs ripped from CDs, songs downloaded from countless online stores, and songs collected from, oh, let's say points unknown. Consequently, the volume levels are inconsistent across the library: Some songs are too loud, some are too soft, and some are juuuuust right.
Fortunately, there's a simple remedy: MP3Gain, an oldie-but-goodie utility that equalizes MP3 volume levels. It does so by modifying the appropriate metadata of each file so that music software and portable players know what the volume should be. Fortunately, it makes no changes to the actual music contained within each MP3, so there's no loss of sound quality.
After installing MP3Gain, click the Add Folder button and choose the folder containing your music. The software can analyze each individual track in your library or analyze by album. The latter method will keep the volume consistent across each album, but if you often shuffle-play your entire music library, don't be surprised if the volume still spikes or sinks from one track to the next. This is largely a matter of personal preference, but I don't see a downside to the track-analysis method.
By default, MP3Gain strives for a volume level of 89 decibels, but you can change this value in the Target "Normal" Volume box. (I use 90, mostly because I like nice round numbers.) After that, click the Track Analysis button and be prepared to wait: the process takes time.
When it's done, you can review the results (the help file provides detailed descriptions of what everything means) or just go ahead and start the leveling procedure by clicking Track Gain. This will take even longer than the analysis-possibly hours, depending on the size of your library.
Interestingly, iTunes users can enable the Sound Check option in the Settings, Playback tab to accomplish the same thing: consistent volume levels across all songs. But in my experience it flat-out doesn't work. That's why I run MP3Gain on all new music that gets added to my library.