Is it possible to replace the element with ng-transclude on it rather than the entire template element?
ng-transclude
HTML:
this works in Angular 1.4.9 (and prob earlier too)
return { restrict: 'E', replace: true, template: '', transclude: true, link: function (scope, el, attrs) ......... }