While there's no doubt there's crap coding it doesn't excuse not adding more memory to alleviate that, both AMD and Nvidia spend millions developing drivers that address specific issues with certain games that have been poorly codded.Everyone jumps to vRAM issues at the smallest hiccup when is just plain old crap codding.
If they can, and indeed do, spend millions on rewriting their drivers to address issues cause by a developer doing something in a less than optimal way then surely they can spend a bit of time and money on making sure there's sufficient memory for +99% of use cases.