Incluso en casos especiales tu pregunta parece muy difícil. Permítame mencionar sólo un caso muy especial, es decir, el caso en que H=G/[G,G] es la abelianización de G y f\colon G\to H es la proyección natural. En este caso, su problema se reduce a la cuestión de si corank(G)=b_1(G) donde corank(G) es, por definición, el rango máximo de un grupo libre que es cociente de G y b_1(G) es el primer número de Betti de G es decir, el rango de H .
No es difícil demostrar que, si H tiene torsión, entonces f no puede ser factor a través de un grupo libre. Sin embargo, si H es libre, entonces la situación es bastante complicada. Por ejemplo, si G es el grupo fundamental de un complemento de enlace, entonces corank(G)=b_1(G) si y sólo si el enlace es un enlace de límite de homología.
En principio, los resultados de Makanin sobre ecuaciones en grupos libres muestran que, si una presentación finita de G existe un algoritmo que decide si corank(G)=b_1(G) o no. Sin embargo, estos algoritmos no pueden explotarse en la práctica ni siquiera cuando se trata de presentaciones muy cortas. Por otra parte, los obstáculos computables (no completos) a la igualdad corank(G)=b_1(G) puede obtenerse mediante el análisis de los invariantes del módulo de Alexander de G . Se pueden encontrar varios resultados en este sentido en el libro "Algebraic invariants of links" de J.A. Hillman.