Let me simplify a bit (if I may) a nice argument by Matthew Emerton, by omitting the part with $p$-reductions. We start as above: let $g \in\mathrm{GL}(n,\mathbf Q)$ normalize $\mathrm{GL}(n,\mathbf Z).$ Then the subgroup $$ zg(\mathbf Z^n) $$ is in $\mathbf Z^n$ for a certain $z \in \mathbf Q$ and is invariant under all elements of $\mathrm{GL}(n,\mathbf Z).$ By the description of the subgroups of free abelian groups, there is a basis $f_1,\ldots,f_n$ of $\mathbf Z^n$ and integers $m_1,\ldots,m_n$ with $m_k | m_{k+1}$ $(k=1,\ldots,n-1)$ such that $$ zg(\mathbf Z^n) =\langle m_1 f_1,m_2 f_2,\ldots,m_n f_n \rangle. $$ Hence $$ (z/m_1)g(\mathbf Z^n) =\langle f_1,(m_2/m_1) f_2,\ldots,(m_n/m_1) f_n \rangle \le \mathbf Z^n. $$$$ (z/m_1)g(\mathbf Z^n) =\langle f_1,(m_2/m_1) f_2,\ldots,(m_n/m_1) f_n \rangle \leqslant \mathbf Z^n. $$ Thus the subgroup $(z/m_1)g(\mathbf Z^n)$ contains a unimodular/basis element (namely, $f_1$) and then since $(z/m_1)g(\mathbf Z^n)$ is invariant under $\mathrm{GL}(n,\mathbf Z)$ we have that $$ (z/m_1)g(\mathbf Z^n) =\mathbf Z^n. $$ Thus $(z/m_1) g \in \mathrm{GL}(n,\mathbf Z).$