Auto Audio Gain Control IC for normalized audio from line level input
I think you have an XY problem here, in that I suspect you are rendering your bars as linear data, as you have discovered that does not work so well. 

Try reading from the ADC, then taking the log of the adc measurement and driving your bargraphs from that, you will probably find that such a scale is much more useful.

Another possibility, generate PWM from the micro, lowpass it use it to control the gate of a jfet as a variable resistance, or even an LM13700 OTA.