Uma possível simplificação é usar o retorno de grep em si como a condição, grep sairá com o código 0 (para "sucesso") somente se houver correspondências. Não é necessário contar linhas, pois você está procurando uma correspondência qualquer .
Além disso, você não precisa escapar do - com \ , já que não é um meta-caractere para expressões regulares do grep.
Você pode passar o argumento grep a -q , para que não imprima as linhas correspondentes (só sai com um código de saída apropriado, dependendo da correspondência entre as linhas).
if /sbin/iptables-save | grep -q '^-'; then
echo "Iptables already set....skipping!!!!!"
else
# set up iptables here
fi
Acho que verificar a saída de iptables-save para verificar se alguma regra foi configurada está correta. Não consigo pensar em outra forma que seja tão confiável ou mais simples.