The language $\mathrm{half}(L)=\{x\mid xy\in L,|x|=|y|\}$ can be quite complicated, compared to the original language $L$. I am afraid that there is no simple construction and we have to keep track of the behaviour of the automaton both forward and backward, which is the product automaton you are referring to.
Let me walk through an example, take $L = (aaa)^*b(cc)^*$, a rather innocent language, which can be accepted by a five-state automaton.

We can manually check that $\varepsilon$, $a$ and $a^4$ are not in $\mathrm{half}(L)$, where as all other strings in $a^*$ are $\mathrm{half}(L)$, as follows: $aa|ab$, $aaa|bcc$, $a^5|a{\cdot}a^3b$, $a^6|a^3bc^2$, $a^7|a^2bc^4$, $a^8|a{\cdot}bc^6$, etcetera. (That is not a proof, I know.)
Turn to strings of the form $a^*b$. They can only belong to $\mathrm{half}(L)$ if there exists a "devision" of the form $a^{3k}b|c^{2\ell}$. This means that $3k+1$ should be even, or $k$ is odd. Then we get $a^3b$, $a^9b$, $a^{15}b$, ... in $\mathrm{half}(L)$. I will not repeat this for strings ending in $c$'s, but for $a^{3k}bc^{m}|c^{n}$ we get the same restriction on $k$ (and no restriction on $m$).
Thus $\mathrm{half}(L)= a^*\setminus\{a^0,a^1,a^4\} \cup a^3 (a^6)^*b c^*$.
Now the automaton version, using the forward-backward method.
The product construction starts with two states in the automaton, the initial and final states. It follows the first state as in the original automaton, but for the second we follow an edge (any label) backwards, and we know that from that second state we can reach the final state in exactly the number of steps we have done so far. Accept when both states are equal. The "hard proof" you mention. Here is what I got. Choosing the backward edge is non-deterministic (several edges may point to the state) and the result is quite unclear. Note the large blop of useless states at the top.

This can be improved in this case by first determinizing the backward automaton. We keep track of sets of (backward) reachable states. Now accept if the forward state is an element of the backward set. (eg., $0\in S=\{0,1,4\}$.)
Lower diagram is the final result of this "deterministic" product construction.
Here a line of useless states at the bottom that can be removed without changing the language.

To keep the answer of reasonable size, the figures are reduced. If you click on the image you get again reduced size. Remove the final 'm' from the filename and it will be better readable.
note. In the answer to Is Lhalf={ w :for some z∈L,x∈Σ∗,z=wx∧|w|=|x| } regular? [duplicate] a slightly different construction is given. Rather than forward-backward simulation, the automaton guesses the middle state $q$ and simulates two parallel forward computations, the second one starting in $q$. When the first computation ends in $q$ and the second in a final state, we accept.