In the sandisk case, at least from what I understand, it that 16Gb used to mean like a 17Gb module, with 1Gb used for system functions, now it's a 16Gb module with 1Gb used for system functions
Phones are actually worse in that a mere OS update can decrease the amount of free space, which is something that presumably does not happen with USB drive firmware updates.
Still, a 16GiB module would be 17 billion bytes. No need to combine different sizes. Unless you're saying a single module would have a decimal capacity?
If you take a 16GiB module and sell it as 16 billion bytes then that gives you 7% overprovisioning. Overprovisioning 10% would give you a 15.4 billion byte drive. If you want 16GiB then it's a quantitative change of how much you lose. But if you go by their promise of 16 billion bytes then it's a qualitative change that they broke the promise.