Existem comandos para extrair um nome de diretório ( dirname ) e nome de arquivo ( basename ) de um caminho. Então você poderia fazer algo como
find . -name '*.rar' -print0 | \
xargs -0 -I{} -n1 -P4 /bin/sh -c 'cd "$(dirname {})"; unrar x "$(basename {})"'
AFAIK, xargs não suporta a mudança de diretórios, então você precisaria de algum intermediário para fazer isso, daí o /bin/sh . Você mencionou escrever um wrapper em torno de unrar , e é basicamente isso que está sendo feito, exceto no formulário de uma linha.
