Vex u should add a "auto-detect" buffer size feature. It is easy, just go trough each file checking wether it is compressed or not and grab it´s uncompressed size.
Get the largest file size and decide wich buffer size is more adequate.
Another sugegstion (altough I am not sure if you are already doing this) .You could also check if the file is worth compression. Some files actually get worse results. If the compression result is crap, just add it back to the MPQ without compression. Save some bytes.
