The default werase setting erases the series of white spaces before the caret, then it erases the preceding word (without touching the spaces before the word). I expected that shell-backward-kill-word would do the same with the difference that the entire quoted argument would be erased. However, shell-backward-kill-word erases the word immedeately preceding the caret plus it erases one additional space. This causes the inconvenience that after erasing the shell word you can't immediately type a new word. You have to type again a space that was deleted. I tried to restore the missing space using sequence of commands, but it restores an unwanted space after erasing the very first word:
stty werase undef bind '"\C-\xff": delete-horizontal-space' # erase whitespaces following the word bind '"\C-\xfe": shell-backward-kill-word' # erase the word bind '"\C-w": "\C-\xff\C-\xfe "' # erase whitespaces, erase word, restore 1 space