I realized a subtlety of this entire procedure is that you need to keep track of the orthogonality of your MPS correctly, and ensure it is being accounted for properly. Perhaps you are already aware of this, but it may be a bit nontrivial.
For example in step 1. above, you would need to have set up the orthogonality center of your MPS to be either the site of tensor @@x@@ or the site of tensor @@y@@ (I believe you have been working on optimizing the first and last MPS tensors simultaneously, correct?). Say that you fix your orthogonality center of your MPS to be the location of tensor @@x@@ (perhaps the first site). For noncontiguous MPS sites, you would have to pick one or the other. That would mean in general the eigenvector equation for @@z@@ will be a generalized eigenvector equation, since you will have to account for a nontrivial environment of tensor @@y@@ (the last site of the MPS). The orthogonality of the MPS will also have to be accounted for in the rank-1 factorization in step 2., so that the center ends up back on tensor @@x@@ and tensor @@y@@ is properly orthogonalized.
Then, in step 3. above, there would be a normal eigenvector equation for tensor @@x@@, and a generalized eigenvector equation for tensor @@y@@. Alternatively, there are ways to optimize tensor @@y@@ that constrain it to be an orthogonal matrix (these techniques are used in other tensor network algorithms, like MERA optimization). I could explain these techniques in more detail.
Sorry if this is confusing or vague, but I think the problem you are trying to solve is fairly subtle. It would help to have more details about where the eigenvector equation is coming from in your particular problem, and what constraints there are on the tensors @@x@@ and @@y@@.