I'm guessing what the mozilla editor is doing is a bug.
Here is what I am doing to fix the problem.
On a delete or backspace keyup event I get the currently focused node and check it and its parent to see if they are blank nodes. Like so . . . .
If I the node or parent node is a blank node I then create a new div node
tmpNode = this.edit.selection.focusNode;
if(tmpNode.nodeName = "")
if(tmpNode.parentNode.nodeName = "")
//fix tmpNode parent
Toss the blank node contents into the new div node
newNode = document.createElement('div');
And finally I replace the blank node with the new node.
newNode.innerHTML = theNode.innerHTML;
This works pretty well. Though, if this is a bug I hope they fix mozillas editor soon.
pNode = theNode.parentNode;