I am trying to convert a signal into another unit, but the error keeps increasing during each iteration
If I understand your notation, you have $y[n] = \frac{1+x[n]}{1-x[n]}y[n-1]$, where $y[n]$ is the output signal.

This can be rewritten as $y[n] = y[n-1] + \frac{2x[n]}{1-x[n]}y[n-1]$. This is an integrator ($y[n] = y[n-1] + w[n]$) where $w[n]$ is some non-linear function of $x$ and $y$.

This integrating component is what gives you the drift in output. Note that the small positive offset in your input signal will result in a drift in your output.

If you could explain your application, and why you came up with the original difference equation, maybe some of us could come up with some insights for a solution.