Its a known bug in SFDC Visualforce page .I have used a jquery approach with action function to manually write the DOM .Please take a look at below.You can use Oncomplete event and custom write the DOM to replace
The Script would look like below
<script>
var j$ = jQuery.noConflict();
function renderSVG(){
var imageURL = '{!URLFOR($Resource.SLDS0102, 'assets/icons/standard-sprite/svg/symbols.svg#user')}';
var SVG = j$('<svg/>', {
class: 'slds-icon slds-icon--large slds-icon-standard-user',
});
var SVGUse = j$('<use/>');
SVGUse.attr('xlink:href',imageURL);
j$('#Icon').prepend(SVG.append(SVGUse));
j$('#Icon' ).html(j$('#Icon').html());
}
</script>
The complete code is as below Showing an Action Function calling an apex method and then OnComplete Jquery call to render back the SVG .Also note you can write a generic function to handle this if you have multiple ajax calls