Let $G$ be a group with a finite presentation $\langle S \cup S' | R \cup R'\rangle$. Assume that I happen to know that $G$ is the semidirect product of a normal subgroup $N$ and another subgroup $H$. Furthermore, assume that $H$ is the subgroup generated by $S'$ and that $H \cong \langle S' | R' \rangle$. Is there any algorithm to calculate a presentation for $N$? Assume that we know how to solve all the standard problems (the word problem, the conjugacy problem, the membership problem for $H$ and $N$, etc) in $G$ itself.
Here is an easy example to show what kinds of issues arise. Let $G$ be the free group on two letters $x$ and $y$. We then have a split short exact sequence
$$1 \rightarrow N \rightarrow G \rightarrow H \rightarrow 1,$$
where the group $H$ is the cyclic group generated by $y$ and $N$ is an infinite rank free group (it consists of all words in $x$ and $y$ the sum of whose $y$-exponents is $0$). The moral is that we cannot hope for a finite presentation for $N$, and our algorithm must return an infinite presentation.
EDIT : Here's two nice examples of what I am talking about. First, let $G = PSL_2(\mathbb{Z})$ and let $H = PSL_2(\mathbb{Z}/2\mathbb{Z})$. Then it turns out that $H$ is isomorphic to the symmetric group on $3$ letters and there is a splitting of the natural surjection $G \rightarrow H$. How can one compute the kernel of this map?
For another example, let $G = SP_4(\mathbb{Z})$ and let $H = SP_4(\mathbb{Z}/2\mathbb{Z})$. Then $H$ is isomorphic to the symmetric group on $6$ letters (this comes from the action on odd theta characteristics), and there is a splitting of the homomorphism $G \rightarrow H$. How can one compute the kernel of this map?
As you might guess from these examples, I have in mind applications to the theory of modular forms. I am looking for practical algorithms for computation, not theoretical results.