Hola:
Pues mi alternativa está pensada en insertar elementos considerando que no exista un elemento "nextSibling", entonces en vez de usar insertBefore (del nextSibling), como este no existe debe usarse appendChild, o sea insertar al final.
Tal vez no sea tu caso y por lo tanto te sirva sin ese control, pero creo que controlar esa existencia el más óptimo.
Sobre borra tienes algo en las FAQs... consiste en obtener el elemento y borrarlo desde el elemento padre...
Código:
elemento = document.getElementById("ejemplo");
elemento.parentNode.removeChild(elemento);
Sobre firefox, es posible que se cancele el script por algún otro error porque el código es válido (si no se me escapó nada)... mira en la consola de errores de ese navegador.
Saludos