You're generalising over a whole bunch of devices with different specs. Sure, there was a problem with updates on the 8gb devices. But that was few hardware cycles ago, around 2.3. Now, those devices are around 1% usage, mostly have dead batteries and other components and it's hard to find a new Android device which lacks space for upgrades.
What to do? Upgrade the hardware. It's not supported anyway. Modern Android devices which have updates published do not have this problem anymore.
I have this problem with a 16 GB flagship. Android alone uses 6.50 GB of my storage. I'm on Android 6.0.
Apps take up 6.32 GB of storage on my phone. The remaining space is taken up by the app cache. This isn't useless information like you'd expect, but it turns out it is data that is vital to the operation of my apps. I clear it fairly often, but it fills right back up again within a day.
Luckily I have an SD card slot, so I have space on my phone, but Google does not like expandable storage. Probably because they are a cloud organization or something.
I personally like to stay on a fairly new phone, but I think it is stupid that your phone can become obsolete within a few years. If the radios are still compatible with the cell towers, manufacturers should be obligated to support them. If you can't support your phones, don't churn out so many crappy phones.
I know times are different, but I used a Motorola Razr V3 from 2004 to 2011. It worked just fine for the entire time. Obviously internet sucked, but I was going to school in a place where the internet barely worked anyways.
If you just want a phone for texting, calling, and maybe as a GPS here and there, there is no good reason to buy a new phone other than planned obsolescence.
16 GB is now small by modern smartphone standards, unfortunately. Your hardware is obsolete. It is what it is. The minimum memory size on new non-budget smartphones is now 32 GB, and on the balance of things, the correct trade-off has probably been made to keep making progress rather than maintain perfect compatibility with older hardware. The technology and industry is still evolving so rapidly that your phone does become obsolete in a few years. It's not stupid, it's a logical consequence of the rate of progress. All sorts of technologies on automobiles went obsolete very quickly within the first decade after the invention of cars, too.
I had this problem all the time on a Galaxy S4. I don't remember now whether this was a 16GB or 32GB model; either way, it quickly filled up pretty much entirely by system data and apps. Having an external SD card for everything else didn't help much, and I spent over a hear with phone storage hovering barely above 500MB (if you go below, half of the stuff on the phone refuses to work).
Another interesting tidbit is that as storage fills up, Android slows down.
I suspect this is an artifact of using the Linux kernel. As said kernel puts a focus on IO ops, and the EXT file systems spend a whole lot of time looking for contiguous free space before committing a write.
Thus if your app do a bunch of writing (say syncing local data with the cloud) at start, it will start quite slowly on a near full Android device.
In the past, many Android devices had problems with the quality of the flash - as it aged, it also slowed down. Occasional reset and full trim helped for a while, until it didn't help anymore. The poster children of this problem were Asus Transformer Prime and the original Nexus 7.
I still resent having to upgrade my 8G Moto G over essentially this issue. The lack of visibility into what's using the space is infuriating - the pie chart does not cut it.
The lack of visibility is partially because apps can store files in various locations.
Outside of the app binaries and such you have their core data, stuff that gets generated or downloaded on first run.
Besides that you have a cache directory pr app that is housed outside of the tree location of the binaries and main data.
More recent Android versions have introduced yet more complications on this via the storage access framework, by providing APIs that give apps limited RW access to "external" storage areas without having to request the related permission.
And that's without going into the whole history of just what "external" means when dealing with Android file storage.
What mid-range device only comes with 8 GB? And what price range are you using to define mid-range? Is there even a low-range (lower than 8 GB) if 8 GB seems to be the absolute minimum, since the OS won't even fit on something smaller?
What to do? Upgrade the hardware. It's not supported anyway. Modern Android devices which have updates published do not have this problem anymore.