From extensive numerical simulation it seems that the following identity holds for two symmetric positive semidefinite matrices: $$ A - AB(B + BAB)^+ BA = A(A + ABA)^+A. $$
I tried to prove this, and was able to verify it in the case $A, B$ are rank one. However, as mentioned above, it holds at least in simulation for general positive semidefinite matrices. Is there an easy proof? Here $P^+$ is the generalized inverse of $P$.
Edit: Simpler proof according to user1551's advice.
We know that $I + AB$ and $I + BA$ are both non-singular.
From the definition of Moore-Penrose inverse, we have $$(A + ABA)(A + ABA)^+ (A + ABA) = A + ABA$$ or $$(I + AB)A(A + ABA)^+ A(I + BA) = A(I + BA)$$ which results in $$A (A + ABA)^+ A = (I + AB)^{-1}A.$$
Similarly, we have $$B(B + BAB)^+ B = (I + BA)^{-1}B.$$
Thus, we have \begin{align*} &AB(B + BAB)^{+}BA + A(A + ABA)^{+}A\\ ={}& A(I + BA)^{-1}BA + (I + AB)^{-1}A\\ ={}& A(I + BA)^{-1}BA + A(I + BA)^{-1} \\ ={}& A(I + BA)^{-1}(BA + I)\\ ={}& A \end{align*} where we use $A(I + BA)^{-1} = (I + AB)^{-1}A$.
We are done.