@MBaz solution is neat. Another vision is to use the idea that discrete convolutions turn into polynomial products in the $z$-transform domain: $$[1,1]\ast [1,1] = [1,2,1]$$ is equivalent to $$(1+z^{-1})(1+z^{-1})=(1+2z^{-1}+z^{-2})$$
So separating a long filter into short convolved filters is equivalent to factorizing a polynomial. To ease notations, I'll write $x= z^{-1}$. So you want to factorize $1+5x+9x^2+10x^3+9x^4+5x^5+x^6$. The lazy way is to use software or online polynomial factorization like dcode polynomial-factorization, and you get:
$$(x+1)^2(x^2+1)(x^2+3x+1)$$
So you see the that the problem has indeed a solution, given by $(x^2+1)(x^2+3x+1)$. And for the whole problem, the entire system could be written as a cascade of four filters, two identical of length 2 ($[1,1]$, your $h_2$), and two others of length 3 ($[1,0,1]$ and $[1,3,1]$).
You can reach the result by the Euclidean division of polynomials or Polynomial Long division $1+5x+9x^2+10x^3+9x^4+5x^5+x^6$ by $1+2x+x^2$.
Let us be more witty, and (as shwo by @MBaz) find a degree 4 polynomial $D$ that gives $1+5x+9x^2+10x^3+9x^4+5x^5+x^6$ when multiplied by $(1+x)(1+x)$. Since the constant term and the highest-degree term are given in a unique way by the product of constant or highest degree terms, it is easy to see that the corresponding terms in $D$ are both $1$. So you just seek three coefficients such that:
$$(1+x)(1+x)(1+ax+bx^2+cx^3+x^4) = 1+5x+9x^2+10x^3+9x^4+5x^5+x^6$$
With a little more experience, you could tell that $a=c$ (for symmetry reasons), and this is useful to reduce the numbers of unknowns when the polynomials are much bigger. Here, you can resort to analysis. Replace $x$ by three values $x_k$ and equate:
$$(1+ax+bx^2+cx^3+x^4) = \frac{1+5x+9x^2+10x^3+9x^4+5x^5+x^6}{(1+x)(1+x)}$$
and you get a system of three linear equations that you can invert. For instance, with $x_1=1$, you have:
$$(1+a+b+c+1) = \frac{1+5+9+10+9+5+1}{(1+1)(1+1)}$$
or
$$a+b+c = 8$$