[proofplan]
We first choose a smooth bundle metric on the smooth vector bundle $E$ using paracompactness of $M$ and a locally finite system of bundle charts. The nowhere-zero smooth section $s$ determines a smooth rank-one subbundle of $E$, and the bundle metric supplies a fibrewise orthogonal complement. We then verify locally that this complement is a smooth rank-$(k-1)$ subbundle and combine the section direction with the complement to obtain the desired direct sum splitting.
[/proofplan]
[step:Construct a smooth bundle metric on $E$]
Let $\{U_a\}_{a\in A}$ be an open cover of $M$ by domains of vector bundle charts for $E$. For each $a\in A$, fix a smooth vector bundle chart
\begin{align*}
\Phi_a:E|_{U_a}\to U_a\times \mathbb R^k.
\end{align*}
By the [Existence of Partitions of Unity](/theorems/57) for paracompact smooth manifolds, applied to the open cover $\{U_a\}_{a\in A}$, choose a smooth locally finite [partition of unity](/page/Partition%20of%20Unity) $\{\rho_a:M\to[0,1]\}_{a\in A}$ subordinate to this cover, meaning $\operatorname{supp}(\rho_a)\subset U_a$ for each $a\in A$ and $\sum_{a\in A}\rho_a(x)=1$ for every $x\in M$. For each $a\in A$, let $p_a:U_a\times \mathbb R^k\to \mathbb R^k$ denote projection onto the fibre coordinate. For $x\in U_a$, define the local fibre [inner product](/page/Inner%20Product) $h_{a,x}:E_x\times E_x\to\mathbb R$ by
\begin{align*}
h_{a,x}(u,v)=p_a(\Phi_a(u))\cdot p_a(\Phi_a(v)),
\end{align*}
where $\cdot$ denotes the Euclidean inner product on $\mathbb R^k$. Define a fibrewise [bilinear form](/page/Bilinear%20Form) $g_x:E_x\times E_x\to\mathbb R$ by the locally finite sum
\begin{align*}
g_x(u,v)=\sum_{a\in A\,:\,x\in U_a}\rho_a(x)\, h_{a,x}(u,v).
\end{align*}
For each $a\in A$, regard $\rho_a h_a$ as a globally defined fibrewise bilinear form by setting it equal to zero outside $U_a$. This extension is smooth because $\operatorname{supp}(\rho_a)\subset U_a$: near any point outside $\operatorname{supp}(\rho_a)$ the coefficient $\rho_a$ vanishes, and on $U_a$ the expression is the product of smooth functions. The sum is finite near each $x\in M$ because the partition of unity is locally finite, so $g$ is smooth. For $u\in E_x$ with $u\neq 0$, any $a$ with $\rho_a(x)>0$ satisfies $p_a(\Phi_a(u))\neq 0$, since $\Phi_a|_{E_x}:E_x\to\{x\}\times\mathbb R^k$ is a linear isomorphism. Therefore
\begin{align*}
g_x(u,u)>0.
\end{align*}
Thus $g$ is a smooth bundle metric on $E$.
[/step]
[step:Identify the line bundle spanned by the nowhere-zero section]
Define the smooth bundle map $\lambda:\underline{\mathbb R}=M\times\mathbb R\to E$ by sending $(x,t)$ to $t\,s(x)$.
For each $x\in M$, the fibre map $\lambda_x:\mathbb R\to E_x$ is injective because $s(x)\neq 0$. Its image is the one-dimensional subspace
\begin{align*}
(L_s)_x:=\operatorname{span}\{s(x)\}\subset E_x.
\end{align*}
Set
\begin{align*}
L_s:=\bigcup_{x\in M}(L_s)_x\subset E.
\end{align*}
We verify that $L_s\to M$ is a smooth rank-one subbundle. Fix $x_0\in M$. Choose a smooth local frame
\begin{align*}
e_1,\dots,e_k:U\to E|_U
\end{align*}
on an open neighbourhood $U\subset M$ of $x_0$. Write
\begin{align*}
s(x)=\sum_{i=1}^k a_i(x)e_i(x)
\end{align*}
for smooth functions $a_i:U\to\mathbb R$. Since $s(x_0)\neq 0$, after relabelling the frame there is an index with $a_1(x_0)\neq 0$. Shrinking $U$ to an open neighbourhood of $x_0$ on which $a_1(x)\neq 0$, define smooth sections $f_1,\dots,f_k:U\to E|_U$ as follows. Set $f_1=s|_U$. For each integer $i$ with $2\le i\le k$, set $f_i=e_i$.
The change-of-frame matrix from $(e_1,\dots,e_k)$ to $(f_1,\dots,f_k)$ has first column $(a_1,\dots,a_k)^\top$ and columns $2,\dots,k$ equal to the corresponding standard basis columns, hence determinant $a_1(x)\neq 0$ on $U$. Thus $f_1,\dots,f_k$ is a smooth local frame on $U$, and $L_s|_U$ is spanned by $f_1=s$. Hence $L_s\to M$ is a smooth rank-one subbundle.
[/step]
[step:Define the orthogonal complement as a smooth rank-$(k-1)$ subbundle]
Define
\begin{align*}
F:=L_s^\perp=\bigcup_{x\in M}F_x\subset E,
\qquad
F_x:=\{v\in E_x:g_x(v,s(x))=0\}.
\end{align*}
Each $F_x$ is a vector subspace of $E_x$. Since $s(x)\neq 0$ and $g_x$ is positive definite, the linear functional $\ell_x:E_x\to\mathbb R$ defined by $\ell_x(v)=g_x(v,s(x))$ is nonzero, so $\dim F_x=k-1$.
We show that these fibres vary smoothly. Fix $x_0\in M$ and choose the smooth local frame $f_1,\dots,f_k:U\to E|_U$ from the previous step, with $f_1=s|_U$. For each integer $i$ with $2\le i\le k$, define a smooth section $q_i:U\to E|_U$ by the fibrewise [orthogonal projection](/theorems/437) formula
\begin{align*}
q_i(x)=f_i(x)-\frac{g_x(f_i(x),s(x))}{g_x(s(x),s(x))}\,s(x).
\end{align*}
The denominator is positive on $U$, so each $q_i$ is smooth. Moreover, expanding the definition of $q_i(x)$ and using bilinearity of $g_x$ gives
\begin{align*}
g_x(q_i(x),s(x))=g_x(f_i(x),s(x))-\frac{g_x(f_i(x),s(x))}{g_x(s(x),s(x))}g_x(s(x),s(x))=0,
\end{align*}
so $q_i(x)\in F_x$.
For each $x\in U$, the vectors $q_2(x),\dots,q_k(x)$ span $F_x$. Indeed, if $v\in F_x$, write
\begin{align*}
v=\sum_{i=1}^k b_i f_i(x)
\end{align*}
for unique scalars $b_1,\dots,b_k\in\mathbb R$. Since $v\perp s(x)=f_1(x)$, the coefficient of $s(x)$ is determined by $b_2,\dots,b_k$, and one obtains
\begin{align*}
v=\sum_{i=2}^k b_i q_i(x).
\end{align*}
The vectors $q_2(x),\dots,q_k(x)$ are linearly independent because any relation $\sum_{i=2}^k c_iq_i(x)=0$ rewrites as a relation among the frame vectors $f_1(x),\dots,f_k(x)$ with coefficients $c_i$ on $f_i(x)$ for $i\ge 2$, hence $c_i=0$ for all $i$. Thus $q_2,\dots,q_k$ is a smooth local frame for $F|_U$, proving that $F\to M$ is a smooth vector bundle of rank $k-1$.
[guided]
The role of the bundle metric constructed above is to turn the line spanned by $s$ into a complementary bundle in a canonical fibrewise way. The preceding step proves that $L_s\to M$ is a smooth rank-one subbundle with local frames whose first vector is $s$. Define
\begin{align*}
F:=L_s^\perp=\bigcup_{x\in M}F_x\subset E,
\qquad
F_x:=\{v\in E_x:g_x(v,s(x))=0\}.
\end{align*}
For each fixed $x\in M$, this is the kernel of the [linear map](/page/Linear%20Map) $\ell_x:E_x\to\mathbb R$ defined by $\ell_x(v)=g_x(v,s(x))$.
Because $s(x)\neq 0$ and $g_x$ is positive definite, $\ell_x(s(x))=g_x(s(x),s(x))>0$. Hence $\ell_x$ is nonzero, so its kernel has dimension $k-1$.
It remains to check smoothness, not just the fibrewise dimension. Fix $x_0\in M$. From the preceding step, write $s=\sum_{i=1}^k a_i e_i$ in a smooth local frame $e_1,\dots,e_k:U_0\to E|_{U_0}$ near $x_0$; since $s(x_0)\neq 0$, relabel so that $a_1(x_0)\neq 0$, then shrink to an open neighbourhood $U\subset U_0$ on which $a_1\neq 0$. On this $U$, replacing $e_1$ by $s$ gives a smooth local frame $f_1,\dots,f_k:U\to E|_U$ with $f_1=s|_U$. We now orthogonalize only the remaining frame vectors against $s$. For $2\le i\le k$, define $q_i:U\to E|_U$ by
\begin{align*}
q_i(x)=f_i(x)-\frac{g_x(f_i(x),s(x))}{g_x(s(x),s(x))}\,s(x).
\end{align*}
The numerator and denominator are smooth functions of $x$ because $g$, $f_i$, and $s$ are smooth. The denominator is everywhere positive because $s(x)\neq 0$, so $q_i$ is a smooth section.
The definition of $q_i$ subtracts exactly the component of $f_i$ in the $s$ direction. Computing with bilinearity gives
\begin{align*}
g_x(q_i(x),s(x))=g_x(f_i(x),s(x))-\frac{g_x(f_i(x),s(x))}{g_x(s(x),s(x))}g_x(s(x),s(x))=0.
\end{align*}
Thus $q_i(x)\in F_x$ for every $x\in U$.
We next prove that $q_2,\dots,q_k$ form a frame for $F|_U$. Let $v\in F_x$. Since $f_1(x),\dots,f_k(x)$ is a basis of $E_x$, there are unique scalars $b_1,\dots,b_k\in\mathbb R$ such that
\begin{align*}
v=\sum_{i=1}^k b_i f_i(x).
\end{align*}
The condition $v\in F_x$ says $g_x(v,s(x))=0$. Solving this equation for the coefficient in the $s(x)=f_1(x)$ direction gives exactly
\begin{align*}
v=\sum_{i=2}^k b_i q_i(x).
\end{align*}
So the $q_i(x)$ span $F_x$. If $\sum_{i=2}^k c_iq_i(x)=0$, then expanding the $q_i(x)$ in the frame $f_1(x),\dots,f_k(x)$ gives a linear relation whose coefficients on $f_i(x)$ for $i\ge 2$ are precisely $c_i$. Since the $f_i(x)$ form a basis, all $c_i=0$. Hence $q_2(x),\dots,q_k(x)$ are linearly independent. Therefore $q_2,\dots,q_k$ is a smooth local frame for $F|_U$, and $F\to M$ is a smooth vector bundle of rank $k-1$.
[/guided]
[/step]
[step:Build the bundle isomorphism from the product line and the complement]
Define the smooth bundle map $\Psi:\underline{\mathbb R}\oplus F\to E$ by sending $(x,t,v)$ to $t\,s(x)+v$, where $\underline{\mathbb R}\oplus F$ denotes the direct sum vector bundle and $v\in F_x$. This map covers $\operatorname{id}_M:M\to M$ and is linear on each fibre.
For each $x\in M$, the fibre map $\Psi_x:\mathbb R\oplus F_x\to E_x$ defined by $\Psi_x(t,v)=t\,s(x)+v$ is injective: if $t\,s(x)+v=0$, then taking the $g_x$ inner product with $s(x)$ gives
\begin{align*}
t\,g_x(s(x),s(x))+g_x(v,s(x))=0.
\end{align*}
Since $v\in F_x$, $g_x(v,s(x))=0$, and since $g_x(s(x),s(x))>0$, this implies $t=0$. Then $v=0$.
The domain and codomain of $\Psi_x$ both have dimension $k$, because $\dim F_x=k-1$. Hence $\Psi_x$ is a linear isomorphism for every $x\in M$. A smooth fibrewise linear bundle map with fibrewise linear inverse is a smooth vector bundle isomorphism; equivalently, in the local frames $s,q_2,\dots,q_k$ constructed above, $\Psi$ is represented by the identity matrix. Therefore
\begin{align*}
E\cong \underline{\mathbb R}\oplus F
\end{align*}
as smooth real vector bundles over $M$. This completes the proof.
[/step]