We know that $f^2 (q) = f(2q)$. Taking $f$ of both sides gives $f^3 (q) = f(f(2q)) = f(4q) = f^4 (q)$. So any number of the form $Q= f^3 (q)$ is a fixed point of $f$.
But now consider the number $Q = f^3 \left( \frac{q}{3}\right) = f(q)$, and we see it must also be a fixed point of $f$. So everything in the range of $f$ is a fixed point of $f$.
Now for any two distinct rationals $q_1, q_2$ write $q_1 = \dfrac{a}{b}, q_2 = \dfrac{c}{d}$ where $a,b,c,d$ are integers. Write $q = \dfrac{1}{bd}$. So we know that $f^{ad} (q) = f(adq) = f(q_1), f^{bc} (q) = f(bcq) = f(q_2)$. But since $f(q)$ is a fixed point of $f$, we must have $f^{ad} (q) = f(q) = f^{bc} (q)$, thus we also have $f(q_1)=f(q_2)$ for every two rationals $q_1,q_2$. Then it follows $f$ must be constant, and we can easily check $f\equiv q$ works for all $q\in \mathbb Q_+$.