npm is just another layer on top of git. go uses git directly. how is that any worse?
Github repos can vanish, NPM will only let repos be deleted if they have no direct dependencies also on NPM. So you have some guarantees your dependencies wont vanish.
You can also configure go to use your own for internal projects or if you just want to avoid the global proxy.