Um truque sujo para valores pequenos e uma precisão limitada sem o uso de bc seria, multiplicar o nomeador antes da divisão, para obter um resultado preciso.
Exemplo sem precisão:
echo $((13/7))
1
e com precisão de 2 dígitos: multiplique por 100 e mova o ponto decimal 2 etapas para a esquerda:
echo $((100*13/7)) | sed 's/..$/.&/'
1.85
echo $((100*13/7))%
185%
Isso só é útil se o intervalo de números for conhecido antes e a precisão for sempre a mesma. Evitar chamar bc e chamar sed não parece muito razoável.
Observe que multiplicar os valores pode levar a erros de estouro, mas não muito cedo:
echo $((1000000000*12345678901))
-6101065172709551616