For Spin 1/2 particles, the spin operator along an arbitrary axis defined by the normalized vector $\vec{n}$ is given by a weighted sum over the pauli matrices:
$$S(\vec{n})=n_x \sigma_x + n_y \sigma_y + n_z \sigma_z.\tag{I}$$
If a particle has been prepared in an up-eigenstate $\chi_n$ with respect to $S(\vec{n})$ and then we measure the spin again along a different axis $\vec{m}$, the probability that we will measure spin up again is given by the simple formula
$$|\langle \chi_m|\chi_n\rangle|^2=\cos\left(\frac{\theta}{2}\right)^2.\tag{II}$$
where $\theta$ is the angle between the two axes.
This formula can be derived by considering the general up-state eigenvector of $S(\vec{n})$, then calculating it`s inner product with another general eigenvector of $S(\vec{m})$ and then taking the absolute square, which is quite a mess of a calculation.
My question is: Is there an easy/elegant way to derive Eq. II that rests on as few assumptions as possible?