I have been asked to find a sub manifold $S \subset M := \mathbb{R}^n \backslash \{0\} $ s.t. its compact Poincaré dual is a basis of the first cohomology group $H^1_c(M) = \mathbb{R}$.
Now, $S$ must be $(n-1)$-dimensional, compact, oriented, without boundary, hence I thought I could take $S := S^{n-1}$.
In order to show that its compact Poincaré dual forms a basis of $H^1_c(M)$ it is enough to show that it is not null.
How can I formally prove it?
My idea is to mimic the reasoning in this answer, however, in my case I need to take $ w \in \Omega^{n-1}(M)$ not necessarily compact supported, hence I cannot conclude.
As alternative, wouldn't it be enough to show that there is at least a $(n-1)$ form that, restricted on $S^{n-1}$ doesn't vanish (for example any volume form of $S^{n-1}$)?
You're completely correct with everything you said. To show what you asked for, use the map $\mathbb R^n -0 \to S^{n-1}$ which collapses the rays $\mathbb R_+x$.
Now there are two ways; one elementary and one more algebraic (still being elementary if you're not purely a differential topologist).
1) Notice that the inclusion $S^{n-1} \to \mathbb R^n-0 \to S^{n-1}$ is a degree 1 map, or even more, namely the identity. Functoriality tells you that $\mathbb Z =H_{n-1}(S^{n-1}) \to H_{n-1}(\mathbb R^n-0) \to H_{n-1}(S^{n-1}) $ is non-trivial, hence the first map in that composition is non-trivial.
2) Homology is (in contrast to $H_c ^i$) a homotopy invariant, hence $S^{n-1}\to \mathbb R^n-0$ induces an isomorphism on $H_*$, in particular its fundamental class defines a non-trivial homology class in $\mathbb R^n-0$.