Yes, $f$ is an isometry; you only need to know that $f$ is a homeomorpphism, diffeomorphism is not needed. You first show that (by continuity of $f$) that $f$ sends geodesics to geodesics. From this, you conclude that $f$ is the lift of a projective transformation $g: RP^2\to RP^2$. ($f$ preserves anipodality since antipodal points are intersections of two great circles; then use von Staudt's theorem about characterization of elements of $PGL(3,R)$.) By composing with a random isometry of $S^2$, you can assume that $g$ has three fixed points $x, y, z$ in general position on $RP^2$. If $f$ is not an isometry, you get a contradiction by taking $a, c$ to be lifts of two of the fixed points, say, $x, z$, and $b$ the midpoint of $a, c$ and observing that $$ \lim_{n\to\infty} g^n(p)\in \{x, z\} $$ for every $p$ on the projective line $xz$.
Edit. Here are the details. Let $SL_{\pm}(n,R)$ denote the subgroup of $GL(n,R)$ consisting to matrices with determinant $\pm 1$. This subgroup projects onto $PGL(n,R)$.
Definition. An element $g\in SL_\pm(n,R)$ is a transvection if it is diagonalizable with real positive eigenvalues. A transvection is nontrivial if it is different from the identity matrix.
Examples of transvections used in the proof will come from the following. Let $sl(n,R)= o(n) \oplus {\mathfrak p}$ be the Cartan decomposition of the Lie algebra of $SL_{\pm}(n,R)$; the subspace ${\mathfrak p}$ consists of traceless symmetric matrices. Then $exp({\mathfrak p})$ consists of transactions. (Actually, every transvection is conjugate to one of these.)
Proposition. If $G< SL_\pm(n,R)$ is a closed subgroup strictly containing $O(n)$ then $G$ contains a nontrivial transvection. (Working more one can show that $G=SL_\pm(n,R)$ but I will not need this.)
Proof.
Lemma. $O(n)$ preserves unique up to scalar multiple positive definite quadratic form, namely the form $q_0$ with the identity Gramm matrix.
Corollary. The normalizer of $O(n)$ in $SL_\pm(n,R)$ equals $O(n)$.
Proof. If $g\in SL_\pm(n,R)$ normalizes $O(n)$, it sends $q_0$ to an $O(n)$-invariant quadratic form, hence, $g^*(q_0)=q_0$, hence $g\in O(n)$. qed
Let $g\in G - O(n)$. Then $g O(n) g^{-1}\ne O(n)$ and is contained in $G$. The subset $g O(n) g^{-1}$is connected and passes through $1\in G$. Hence, the identity component of $1$ in $G$ is strictly larger than $SO(n)$. Since $G$ is a closed subgroup of $SL_\pm(n,R)$, it is a Lie subgroup (by Chevaliey’s theorem). Thus, the Lie algebra ${\mathfrak g}$ of $G$ is strictly larger than $o(n)$, hence, it has nonzero intersection with ${\mathfrak p}$. Taking a nonzero element $\xi$ of this intersection, $\exp(\xi)\in G$ is a nontrivial transvection. qed
Lemma. If $g\in SL(n,R)$ is a transvection, it cannot send midpoints to midpoints in $RP^{n-1}$.
Proof. Let $v_1,…,v_n$ be a basis of eigenvectors of $g$. There exist two vectors in this basis, say, $v_1, v_2$ which correspond to distinct eigenvalues $\lambda_1, \lambda_2$, say, $\lambda_1> \lambda_2$. Let $V\subset R^n$ be the span of $v_1, v_2$ and let $L\subset RP^{n-1}$ be the projectivization of $V$, a projective line in $RP^{n-1}$. Considering the action of $g$ on the projective space, we see that it preserves the line $L$ and has exactly two fixed points in this line, $p_1, p_2$, which are projections of the eigenvectors $v_1, v_2$. Since $\lambda_1> \lambda_2$, the fixed point $p_1$ is attractive and $p_2$ is the reclusive fixed point for the action of $g$ on $L$. Let $p\in L$ denote the midpoint of $p_1, p_2$. Since $g$ is not the identity on $L$, $g(p)\ne p$ (otherwise $g$ has three fixed points in $L$). But this implies that $g$ does not preserve midpoints in $RP^{n-1}$. A contradiction. qed
We conclude that $O(n)$ is the maximal subgroup of $SL_\pm(n,R)$ which sends midpoint to midpoints in $RP^{n-1}$.