Suppose that we are given a finite $p$-group $G$ and an abelian normal subgroup $A$ of $G$. The question I have is whether any sufficient conditions are known for $A$ to have a complement in $G$. From briefly looking around a bit, I have found nothing on this topic.
I would be most interested if there were a necessary and sufficient condition for $A$ to have a complement in $G$, but I am fairly confident that no such condition is known.
The only thing in this line that I am aware of is a theorem of Gaschütz which works more generally:
Ιf $A$ is an abelian normal subgroup of the finite group $G$ and $A \cap \Phi(G)=1$, then $A$ has a complement in $G$.
Of course, if $G$ is assumed to be a $p$-group then only an elementary abelian subgroup $A$ can satisfy Gaschütz's condition. It follows easily from Gaschütz's theorem that if $A \leq \Omega_1(Z(G))$, that is, if $A$ is central and elementary abelian, then $A$ has a complement in $G$ if and only if $A \cap \Phi(G)=1$.
It is perhaps worth pointing out that if $G$ is abelian, then a necessary and sufficient condition for $A$ to have a complement in $G$ is for $A$ to be a pure subgroup of $G$. This, in turn, admits the equivalent description: $A$ is pure in $G$ if and only if the Frattini series of $A$ is the intersection of $A$ with the Frattini series of $G$.
I would also be interested in partial results of this kind, i.e. by assuming something extra about either $G$ or $A$. Particular cases of interest would be $A$ central or $A$ cyclic.
Perhaps it would be useful if I added a little thing I have found. Of course, this lemma can only work if $A$ is, for instance, non-cyclic. In fact, it seems to me that the case $A$ cyclic is already difficult because there are simply not enough subgroups to work with.
Lemma: Let $G$ be a finite nilpotent group and let $A$ be normal in $G$. Suppose that $A=CD$, where $C$, $D$ are both normal in $G$ and that $(C \cap D) \cap \Phi(G) = 1$. Then $A$ is complemented in $G$ if and only if $A/C$ is complemented in $G/C$ and $A/D$ is complemented in $G/D$.
Proof. Suppose first that $A$ is complemented in $G$ and let $N \unlhd G$ with $N \leq A$. We argue that if $H$ complements $A$ in $G$, then $HN/N$ complements $A/N$ in $G/N$. Since $N \leq A$, we have by Dedekind's lemma that $$A \cap HN = (A \cap H)N = N,$$ thus $(A/N) \cap (HN/N) = 1$. On the other hand, $A(HN) = AH = G$ thus $$(A/N)(HN/N) = G/N,$$ as wanted. Applying this with $N=C$ and $N=D$ proves one direction.
Now we assume that both $A/C$ and $A/D$ are complemented in $G/C$ and $G/D$ respectively and we work to show that $A$ has a complement in $G$. Suppose then that $H/C$ is a complement of $A/C$ in $G/C$ and $K/D$ is a complement of $A/D$ in $G/D$. Let us denote $X := H \cap K$ and $I :=C \cap D$.
We begin by observing that $I \leq X$. Since $I \cap \Phi(G) = 1$ by hypothesis, we have $$\Phi(I) \leq I \cap \Phi(G) = 1,$$ thus $\Phi(I) = 1$ and it follows that $I$ is abelian. Moreover, $I$ is a normal subgroup of $G$.
Now $I \unlhd X$, $I$ is abelian, and $$I \cap \Phi(X) \leq I \cap \Phi(G) = 1,$$ where $\Phi(X) \leq \Phi(G)$ holds because $G$ is nilpotent. It follows by Gaschütz's theorem mentioned above that $I$ has a complement in $X$ and we call that complement $R$. We will argue that $R$ complements $A$ in $G$ and our first observation to show this is that $$A \cap R = A \cap X \cap R = ((A \cap H) \cap (A \cap K)) \cap R = C \cap D \cap R = I \cap R = 1.$$ It thus only remains to show that $AR=G$. Since $AX = A(IR) = AR$, it will suffice to show that $G = AX$.
We have $G/C = (H/C)(A/C)$, so $$G = HA = HCD = HD,$$ where the final equality holds because $C \leq H$. Thus $G = HD$, and similar reasoning yields $G = KC$. Now $G = HD$ and $D \leq K$, so $K = (H \cap K)D = XD$ by Dedekind's lemma. Then $G = KC = XDC = XA.$ $\blacksquare$
Note: The same conclusion can be reached without assuming that $G$ is nilpotent and assuming instead that either $A$ or $I$ is abelian. The crucial point is to ensure that $I$ has a complement in $X$.