%
tem um significado especial em cronjobs - significa que o texto depois é dado como stdin ao comando anterior. Para usar um sinal de porcentagem literal, tente \ escapar ou simplesmente mova tudo para um script externo e chame esse do crontab.
(IMHO, quando nidifica $ (...) mais de duas vezes, é um sinal claro de que deve ser extraído em um script.)
Observe que você também pode usar date -d tomorrow +%u
em vez de calculá-lo manualmente.