For this post, I am thinking of $\mathbb{R}P^n$ modeled by the northern hemisphere of $S^n$ with antipodal equatorial points identified. Also, I am just going to write $f$ instead of $f_n$.
Let $N,S\subseteq S^n$ denote the (closed) northern and southern hemispheres. Let $n\in N$, $s\in S$ be the north and south pole. (For definiteness, $n = (0,0,...,0,1)$ and $s = -n$.
What is $f|_N$? Well, $p|_N$ is the identity (except for at the equator), while $q$ wraps the hemisphere all the way around the sphere. But points on the equatorial $S^{n-1}\subseteq N$ get mapped to $s$.
In other words, we may think of $f|_N$ in hyper polar coordinates as $f(\vec{\theta}, \phi) = 2\phi$. To be clear, $\phi\in [0,\pi]$ measures the angle from $(0,...,1)$ to $x\in S^{n-1}$ and $\vec{\theta} = (\theta_1,....\theta_{n-1})$ with $\theta_1\in[0,2\pi]$, but every other $\phi_i\in[0,\pi],$ is the collection of angle parameters on $S^{n-1}$. (When $n = 2$, $\vec{\theta}$ is the usual $\theta$ in spherical coordinates.)
What is $f|_S$? Well, we first use the antipodal map $a$ to move all these points into the northern hemisphere, then copy $f|_S$. So, $f|_S = f|_N \circ a$. In terms of coordinates, $a(\vec{\theta}, \phi) = (\underline{\vec{\theta}}, \pi-\phi)$ where $\underline{\vec{\theta}} = (-\theta_1, \pi-\theta_2,...,\pi-\theta_{n-1})$.
(Since the anitpodal map has degree $(-1)^{n+1}$, so far this just reproduces your proof that $\deg(f_n) = 1 + (-1)^{n+1}$.)
Thus, we may describe $f$ via $f(\vec{\theta},\phi) = \begin{cases}(\vec{\theta}, 2\phi) & \phi\in[0,\pi/2] \\ (\underline{\vec{\theta}} , 2(\pi-\phi)) & \phi\in[\pi/2,\pi] \end{cases}.$
As a sanity check, this formula clearly gives a continuous $f$ away from $\phi = \pi/2$. But $\lim_{\phi\rightarrow \pi/2^-} (\vec{\theta}, 2\phi) = s = \lim_{\phi\rightarrow \pi/2^+}(\underline{\vec{\theta}}, 2(\pi-\phi))$, so this formula describes a continuous function.
Let's assume $n $ is even. In this language, your question is to find a homotopy between $f$ and a constant map. We will write down this homotopy as a composition of two homotopies. The first homotopy uses the fact that the antipodal map $\vec{\theta}\mapsto \underline{\vec{\theta}}$ is homotopic to the identity because $S^{n-1}$ is an odd dimensional sphere. Suppose $F(\vec{\theta},t)$ is such a homotopy. (For $n=2$, you can use $F(\theta,t) = \theta + t$ with $t\in[0,\pi]$)
We claim that $f_t:=\begin{cases}(\vec{\theta}, 2\phi) & \phi\in[0,\pi/2] \\ F(\underline{\vec{\theta}},t) , 2(\pi-\phi)) & \phi\in[\pi/2,\pi] \end{cases}$ is continuous.
In fact, the argument is just as it was for $f$ above: this is clearly continuous away from $\phi = \pi/2$. And at $\phi = \pi/2$, both formulas limit to $s$, so it is continuous everywhere.
At the end of this homotopy, we get a new map $f_1 = \begin{cases}(\vec{\theta}, 2\phi) & \phi\in[0,\pi/2] \\ (\vec{\theta} , 2(\pi-\phi)) & \phi\in[\pi/2,\pi] \end{cases}.$
Intuitively, this map wraps $N$ all the way around $S^n$ with decreasing lattitude mapping to even more southern lattitudes, then wraps $S$ around the sphere with decreasing lattitude moving northern.
Let's use a final homotopy to get the constant map.
The homotopy here is $G(\vec{\theta}, \phi, t) = \begin{cases}(\vec{\theta}, 2t\phi) & \phi\in[0,\pi/2] \\ (\vec{\theta} , 2t(\pi-\phi)) & \phi\in[\pi/2,\pi] \end{cases}.$ Once again, we need to check that this is continous, and again, this is obvious away from $\phi = \pi/2$.
But when $\phi = \pi/2$, both the top and bottom map send $(\vec{\theta},\phi)$ to $(\vec{\theta}, \pi t)$, so $G$ is continuous. Finally, simply note that $G(\vec{\theta}, \phi, 0) = (\vec{\theta},0) = n$, so is constant.
Best Answer
There is a Hurewicz homomorphism $\Phi:\pi_n(S^n) \to H_n(S^n)$ given by taking a class of a map $\pi_n(S^n)\ni[\alpha]:S^n \to S^n$ and sending it to $\alpha_*([S^n])$ where $[S^n]$ is the fundamental class, or the generator for $H_n(S^n)$. It is an isomorphism here.
This map is natural in the sense that for any map $f:S^n \to S^n$ and $[\alpha] \in \pi_n(X)$ we have that $\Phi(f_!([\alpha])=f_!(\Phi([\alpha]))$.
The point here is that $\Phi$ preserves degree! This buys you that definition two is equivalent to the induced homomorphism $f_*:H_n(S^n) \to H_n(S^n)$
To make this leap to the first definition, you will need to make the use of the De-Rham isomorphism.