I haven't bothered to figure out if it's doable yet, but something based on use of ID3 RVA2 tags would be useful: calculate mean amplitude of your collection, use RVA2 tags to adjust mean track amplitude to match.

One of these days I'll get 5 spare minutes and figure out why it won't work