Apart from notation, the abstract root system argument is given at the end of section 9.4 in my 1972 textbook, Springer GTM 9. (See also section 8.4 for the origin in semisimple Lie algebras. Together these are the first item in my list Index of Terminology.)
This relies of course on the geometry of reflections, which causes you some trouble.
EDIT (more details): Algebraically, the axioms show that the reflection $s_\alpha$ (written in GTM 9 as $\sigma_\alpha$) takes a non-proportional root $\beta$ to $\beta + c \alpha$ for some $c \in \mathbb{Z}$. Here the $\alpha$-string through $\beta$ is unbroken $(*)$. Thus the reflection $s_\alpha$ leaves the $\alpha$-string through $\beta$ invariant. To argue that $s_\alpha$ interchanges endpoints, we may assume that $p+q \neq 0$ (then $s_\alpha$ has order 2 on the string).
Now it is easiest to argue by cases. For example, if $s_\alpha$ takes $\beta + q \alpha$ to $\beta - d \alpha$ for some $0 \leq d < p$, then it must map this root back to the highest root in the string. In turn, this reflection must take the lowest element of the root string to a higher root than $\beta + q \alpha$, which is absurd. Etc.
[$(*)[$(*)$ Note that the string is unbroken, which in Section 8 may require some representation theory of the rank 1 semisimple Lie algebra but in Section 9 (an axiomatic treatment of root systems) follows from the easy first step in the classification of root systems embodied in Table 1 amd used in the proof of Lemma 9.4. The upshot is that root strings (for the adjoint representation) have length at most 4, which is probably impossible to prove without taking a step into the classification. (By the way, the bound of 4 becomes unlimited when all irreducible finite dimensional representations are considered: this is the second item on my list Index of Terminology.)]