It seems some posters didn't notice the distinction you made there ;)
The OP asked about an *index*, not a central repository. It would basically be (a variant of) go get with an additional index of third-party package URLs. Take a look at
http://crates.io for the simplest example. Everything there links to the authors' repositories (which these days basically means everybody's fave egg baskets, GitHub or BitBucket).
(Enter the Dreamlands for a bit)
My ideal system would have a few typical package manager features, like versions with individual dependencies for each, categories, priority levels for versions and some way to switch between versions/branches easily. Make mirroring and hosting the index easy. Dependencies could also be figured out via package contents, but sometimes a newer version also relies on specific versions of other packages - this could fail horribly in a downgrade when APIs change.
With all of the above covered, now you'd need to get people to use it, automate as much as possible and avoid name clashes. Package names in the username-package style might work, but the command line tool then needs to be able to suggest package names ("No package foo. Did you mean foo-bar or foo-bar-baz?").
Of course, a pure index solution wouldn't automatically be tracking package popularity in any way. It just serves up URLs for go get, and knows nothing of what people actually download beyond the index (unless it has optional stats tracking sent back to the index site).
The case of packages relying on cgo is also a problem. At that point you'd require some advanced pre-/post-install scripts too. Or be lazy and include a document with compilation instructions for dependencies.
I can see many problems with both an index and a real package repo, but I can see advantages too. It would be relatively simple (for variable values of simple) to get tools and a backend ready if focused on pure Go. It would just take a little effort from package developers to be as smooth as possible.