Channel mixdown: Simple average doesn't seem right?

Hi Everybody.

I'm tackling polyphonic synthesis, and have created eight 'wavetable' channels, each with short buffers, volume, pitch, and pan settings. This all works, except the way I'm mixing the channels down does not seem ideal: I do a simple average to avoid clipping, but that immediately knocks all channels down to 1/8th volume, maximum-- I have to turn up my speakers WAY UP to hear any particular channel.

I think there must be a smarter way to do it so that all the channels retain the possibility to be loud. I've tried to find out how it is done in practice by looking at code for a couple mod trackers, etc, but haven't figured it out yet. I'm hoping for a simple mathematical definition of waveform channel mixing that retains the perception of loudness for each channel.