Apparently the default request "accept" header for XMLHttpRequest is different in Firefox 3, IE, and Chrome, and this is at the root of parse errors in AJAX response with JSF Mojarra if one runs with filter NONE.
Specifically, Firefox 3 has "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" as the accept header, but IE and Chrome have "*/*". This causes XML parse errors for the IE and Chrome browsers, but Firefox works fine.
UNFORTUNATELY, with accept set to "*/*", Mojarra is pretty stupid, and even with "preferXHTML" set true it returns "text/html" as the content type https://javaserverfaces.dev.java.net/issues/show_bug.cgi?id=1106.
HOWEVER, this is the default accept header for XMLHttpRequest, and it seems that RichFaces could explicitly set request header accept to "application/xhtml+xml", and this would solve the problem for all browsers, and then the "com.sun.faces.preferXHTML" init parameter would not even be needed.