Jonathan,
There is no easy way to change FortranForm to do that (to the best of my knowledge), however, I think that you can get the accuracy you need by doing either of the approaches below:
Set the number of digits supported by python
Lookup the maximum number of digits supported by Python and set the number of digits in the equations to that maximum number.
For example:
eqn = 2/3 x^2 + 3 y^2 + 4/9 z
Can be converted to Fortran Form with 30 digits by doing the following:
In[2]:= N[eqn, 30] // FortranForm
Out[2]//FortranForm=
0.666666666666666666666666666667*x**2 + 3.*y**2 + 0.444444444444444444444444444444*z
or
Create a special function in Python
Another alternative is to write some code to replace the Rational numbers with functions (like rational[2,3]) (lowercase so as not to confuse with the Rational in Mathematica) and then define a python function "rational" to do your division.
To do this:
eqn /. x_Rational :> rational[Numerator[x], Denominator[x]]
which gives you
3 y^2 + x^2 rational[2, 3] + z rational[4, 9]
Now make a function rational(x,y) in python to return x/y to the machine precision.
I hope this helps.