I have this expression embedded in a larger equation:
$$ A^T (A D A^T)^+ A $$
Where $A \in \mathbf{R}^{m \times n}$ is an arbitrary matrix, $D \in \mathbf{R}^{n \times n}$ is diagonal (with some elements possibly $0$), and $X^+$ is the Moore-Penrose Pseudoinverse of $X$.
Can the expression be simplified? In particular, I'd like to "distribute" the pseudoinverse in terms of the pseudoinverse of $A$ and $D$, if that's possible.
If $D = I$, for instance, it's easy to show that $ A^T (A D A^T)^+ A = V V^T$, where $A = U \Sigma V^T$, $V^T \in \mathbf{R}^{r \times n}$ is the "thin" SVD of $A$ with rank $r$.
Well obviously if you replace $B = A \sqrt{D}$ you get
$A^T (ADA^T)^+ A^T = D^{-1/2} W W^T D^{-1/2}$ with $W$ from the thin svd from of $B$ (in place of the $V$ in your question).
That is the only thing I would see. Of course that does not strictly work for you, since you have possibly zero elements in $D$.