I dealt with a similar issue and found that if I wrapped the "set action" in an if statement where I would only set the target tag IF the length of the source tag was greater than 1, then it would not send an empty tag. 

Have you tried wrapping that set in an if statement? 

For example in this screenshot below, I take in one XML file and I send it to another XML file with NO IF surrounding the set statements of all of my data tags. 

And that when I test this there are not even any data in my DATA source tag yet everything populates in my DATA Target Tags with null values: 


However, when I wrap all of those same data tag sets in an if statement so that they are set only if an data id is populated like so: 


It will no longer send null tags for the data elements: 


Hopefully the issue is similar and this helps!