Remember position of equal sign from one align environment to the next
use \phantom{...}
with the widest element from the earlier environment, i.e., the one that causes align
to calculate the position. in your example,
\begin{xyz}
\begin{align}
x &= a \\
&= b %store the position of & in \positionequal
\end{align}
\end{xyz}
\begin{xyz}
\begin{align} %read \positionequal and use it to put & at the right position
\phantom{x} &= c
\end{align}
\end{xyz}
Use \intertext
for the text between evironments, that way you will have all the &
marks aligned in the same position. See e.g. here; they say it is only for short text, but IIRC I was able to stuff long stretches of text and sectioning commands in there without issues (YMMV).
Although it is not the nicest thing to do, it seems possible to solve my problem by using \pdfsavepos
or the zref
package.
It gives you access to the distance between the beginning and end of the Lefthand side of your equation, so that you can reproduce this distance by an appropriate \hspace
later.