Короче, вот так работает даже в хроме. Правда лишний xmlns атрибут проставляет.
<div><input type='radio' name='radiobutton1' value='page' checked='checked'/></div>
<script>
var div = document.querySelector('div');
alert(div.innerHTML);
var serializer = new XMLSerializer();
var children = div.childNodes;
var fragment = document.implementation.createDocument().createDocumentFragment();
for (var i = 0; i < children.length; i++) {
fragment.appendChild( children[i] );
}
var innerXML = serializer.serializeToString(fragment);
alert(innerXML);
</script>