Rather frustratingly, I can see that magento's wysiwyg removes elements such as the picture element.
Digging around I can see that the TinyMCE editor is used and setup is hardcoded here:
/magento1938/js/mage/adminhtml/wysiwyg/tiny_mce
Now, I can override the file, and use my own as follows:
<?xml version="1.0"?>
<layout>
<default>
<reference name="head">
<action method="removeItem">
<type>js</type>
<name>mage/adminhtml/wysiwyg/tiny_mce/setup.js</name>
</action>
<action method="addItem">
<type>skin_js</type>
<name>js/path/to/your/tiny_mce_setup.min.js</name>
<params/>
<if/>
<condition>can_load_tiny_mce</condition>
</action>
</reference>
</default>
</layout>
Then add the following extended_valid_elements configuration to the setup, as per TinyMCE, to extend our valid elements:
extended_valid_elements : "img[align<bottom?left?middle?right?top|alt|border|class|dir<ltr?rtl|height"
+"|hspace|id|ismap<ismap|lang|longdesc|name|onclick|ondblclick|onkeydown"
+"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
+"|onmouseup|src|srcset|sizes|style|title|usemap|vspace|width],"
+"picture[source]" ,
Would this be the most suitable solution?