The permessage-deflate spec is designed to allow senders to choose not to compress all messages (eg, messages that already contain compressed binary data), but the extensions API doesn't allow senders to make this choice.
(My personal needs don't require this, but it does seems like something that users might care about.)