I've been using
BLPConverter (command-line).
Will require you to read the included documentation (in the form of BLPConverter.rtf included with the download)
on how to handle Palettized and RGB .blp.
It works fine.. the one thing I'm not 100% sure it handles (or needs to handle)
is DirectX 4/5 texture compression that was introduced with WoW 2.x