Coloque em um grupo de comando e redirecione a saída do grupo:
$ foo=$(cat /bin/sleep)
bash: warning: command substitution: ignored null byte in input
$ { foo=$(cat /bin/sleep); } 2>/dev/null
$
Como { ...; }
não é uma subshell, a variável ainda estará disponível.
$ echo ${#foo}
19786
O aviso é do shell e você precisa redirecionar a saída do shell para que ele funcione. No grupo, até mesmo a saída do shell é redirecionada (somente dentro desse grupo).