Something that can help is to add at least one frame of silence in-between different tracks. Not perfect, but it's less jarring than directly switching from one track to another (although, there are a few tracks that blend surprisingly well, so the silent frame isn't as needed when switching between them).
Regarding this suggested feature, would it be possible to add a fade out feature, hard coded to a specific length (say, one second)? Variable lengths could be something to look into in the future, since that would likely involve a UI change, but with a fixed length fade, you could treat it similarly to a "stop music" command.
I feel the best way to implement this would be to add a checkbox to the music selection dialog that says "Fade", and an input box that designates the music's volume (defaulting to whatever is defined in the Music tab for a particular piece). To fade music, you'd then select a volume of 0 and check the Fade checkbox for the frame you'd like to music to fade out in. That would allow one to instantly change music volume, to set music volume independently from what a piece's default value is, and to fade to a lower volume and vice/versa instead of just fully fading in or out.
I don't think it would be too difficult to implement, but there's other things to take care of first.