For the minimal volume is too loud problem any headphones with an inline analog volume adjuster will work. Basically these allow you to control the volume between zero (or close) and whatever the input level is. You can also get adapters that do this, here's the first one I found: http://www.amazon.com/Koss-155954-VC20-Volume-Control/dp/B00001P4XH
Note -- you want something like that, probably with a wheel control, NOT a digital volume control (which normally have +/- buttons) as you see on iPhone headsets. The digital control just talks to the unit to adjust the volume and it'll not work if the unit doesn't understand it.
When the maximal volume is too low you need an amplifier, these are more expensive and need to be powered. Again here's the first hit on Amazon: http://www.amazon.com/FiiO-E11-Portable-Headphone-Amplifier/dp/B0053KWDES/ref=zg_tr_13880161_15. Note here that if the input volume is really low then the amp will probably just distort the signal and be even more annoying, personally I'm not sure it's worth the money.
It may also be the type of headphones you're using -- if you use the supplied headphones on the plane is the problem still there? If not then maybe you should look at trying some other types, I typically use earbuds and I don't ever recall having this problem.
One other option is that it's the headphone jack itself. Sometimes I can't get stereo properly until you wiggle the plug around in the socket. These sockets get a lot of use and often wear down, so they may not be making the best connection. There's not much you can do about that short of move seat or experiment with different headsets (or adaptors).
If the volume range is wrong on the supplied headset in the plane then definitely talk to someone, I'm not sure what they can do about it but they may be able to do something. A few people here are flight crew, hopefully one of them will drop by and help with that.