Hola:
insertBefore puede tener el inconveniente de que no exista ese primer elemento...
insertBefore no: quiero un insertAfter!...
El enlace es hacia un problema parecido... lo que quiero comentar es que genéricamente debería controlarse la existencia de nodos hijos...
Saludos