I've seen the complaint about huge diffs a few times. Why not just exclude vendor directories from the diff?
Can Github (and Github Enterprise) do this automatically? Basically, like most problems, the issue is that it interferes with a very common interface rather then being a real problem.
If I could have PRs by default fold vendor/ folders for me, then yeah - problem solved more or less.
The thing I really love about the golang vendor/ approach is that the dumbest possible way just works - the code is all there.
Glide gets pretty far away from that. The perfect model (or one which would produce the prettiest git diffs) would probably be a tool which kept the actual vendor'd packages under their own branch forks in the same git repo and checked them all out when you need them, just so vendoring changes wouldn't wind up being huge source tree diffs).