$$f\left(\frac{x+a}{b}\right)=f\left(\frac{f(x)+a}{b}\right)$$
So as you have noted, letting $a=c-f(x)$ gives
$$f\left(\frac{c+x-f(x)}{b}\right)=f\left(\frac{c}{b}\right)$$
If you suppose $f(x)\not=x$ for some $x\in \Bbb Q$, and define $\frac{u}{v}=x-f(x)$. By taking $c=pv(x-f(x))$ and $b=qv\left|x-f(x)\right|$ you get
$$f\left(\frac{pv(x-f(x))+x-f(x)}{qv\left|x-f(x)\right|}\right)=f\left(\frac{pv(x-f(x))}{qv\left|x-f(x)\right|}\right)$$
Simplifying that (and replacing $p$ by $-p$ if needed) gives
$$f\left(\frac{p}{q}+\frac{1}{qv}\right)=f\left(\frac{p}{q}\right)$$
By recurrence, you can prove
$$f\left(\frac{p}{q}+\frac{1}{q}\right)=f\left(\frac{p}{q}\right)$$
So, again by recurrence,
$$f\left(\frac{p}{q}+\frac{r}{s}\right)=f\left(\frac{ps}{qs}+\frac{qr}{qs}\right)=f\left(\frac{ps}{qs}\right)=f\left(\frac{p}{q}\right)$$
Since for $x\in \Bbb Q\setminus \Bbb Z$, you can't have $f(x)=x$, you are always in this case.
So the solitions are exactly the constant functions.