Viral nature of GPL is really big headache, because make big troubles to use external libs as they could be closed source, so it will be impossible to client to compile binaries himself.
Imagine, if I'll use GPL for control of nuclear reactor and have to open control schemes to comply with GPL (in real life, these things keep secret to make more hard for bad people make something wrong with such dangerous object).
This solved for very few software packages, for example, GCC, Libc, have exclusion in license, directly allowed to make closed sourced derivatives and to link external library without give access to its code (only need api definition, for example as C header).
At the same time, GPL does not limit usage of open source software by hosting companies, who don't make any contributions.
That's why some infrastructure companies switched from GPL to different licensing schemes.
The GPL doesn't care about control schemes though, so your nuclear reactor example seems strange.
The GNU family of licenses don't care about contributions, only about user software freedom. In the case of hosting companies, the AGPL was created to preserve user freedom for network oriented software, it isn't perfect but is reasonably good.
It is incorrect to say these companies are switching to different licensing schemes because of lack of contributions from hosting companies, the correct reason is that the hosting companies make a lot of money and the software companies want that money for themselves.
I don't think GPL way is best to achieve this goal.
I see much wider goal of modern engineering, to REuse as much work as possible, because even with modern advances with AI, we still have very limited number of engineers, so users could not got quality products and services when reuse is limited by license, so GPL effectively limiting users freedom.
Must admit, other licenses also have issues, but for user freedom I think best MIT/BSD licenses and most similar to them (Apache, etc).