Even better might be to do neither: eliminate support for void data, and give the declaration a type that doesn't provoke so much discussion.
Yes, I was assuming the same approach as for the existing void data declaration, that the structure is given a nominal size,for just the reasons you give. (That's what gcc seems to do.)