You can do this by hand, by keeping track of isomorphisms and verifying all compatibilities. It's highly possible there's a high-tech explanation that I don't know about.

So presumably you want to allow $\theta$ to be a pseudo-natural transformation (as Zhen Lin points out), i.e.

- for every $X$ you have a functor $\theta_X\colon F(X)\to G(X)$, and
- for every arrow $f\colon X\to Y$ in $\mathcal{C}$ you have a natural isomorphism of functors $\alpha(f)\colon G(f)\circ \theta_X\to \theta_Y\circ F(f)$ (draw the obvious square diagram)

and these data satisfy some compatibility property on compositions of maps $X\to Y$ and $Y\to Z$ in $\mathcal{C}$.

Using these data, you can promote your family of quasi-inverses $\eta_X\colon G(X)\to F(X)$ to a psuedo-natural transformation.

Specifically, for every arrow $f\colon X\to Y$ you want a natural isomorphism of functors $\beta(f)\colon F(f)\circ \eta_X\to \eta_Y\circ G(f)$, and you want these to satisfy the same compatibilities that the $\alpha$'s have to satisfy (and that I haven't written down!).

You get $\beta(f)$ like this: pick $\xi\in G(X)$, and define an arrow $$F(f)(\eta_X(\xi))\to \eta_Y(G(f)(\xi))$$ in the category $F(Y)$ as follows: choose an object $\zeta$ in $F(X)$ such that $\theta_X(\zeta)\cong \xi$, and plug in $\theta_X(\zeta)$ in the above (using the chosen isomorphism). Now you need to produce an arrow $$F(f)(\eta_X(\theta_X(\zeta))))\to \eta_Y(G(f)(\theta_X(\zeta)))$$ but now the second object is isomorphic (via $\alpha(f)$) to $\eta_Y(\theta_Y(F(f)(\zeta)))$, and by using the two isomorphisms $\eta_X\circ \theta_X\cong id$ and $\theta_X\circ \eta_X\cong id$, you are reduced to producing an arrow $F(f)(\zeta)\to F(f)(\zeta)$, and now you have a very canonical one, namely the identity.

I think you can check (it might not be pleasant) that this will give you a well defined pseudo-natural transformation $\eta$.

I hope I'm not overlooking some subtlety here, if I'm wrong I'm sure someone will correct me.