I feel bad about this, but it looks like we made a mistake in marking it accepted. :-(
The problem is, we have a common.net.Uri class, that has more than 50,000 usages in our own codebase (that's a lot). The only reasonable way we can ever have a Uri in Guava is by releasing that one... or a version of it that we transformed through great difficulty. Introducing a competitor would be a non-starter.
But I believe this class has enough major issues that just throwing it out as it is would do everyone a disservice. While at the same time, to do better than that may be a major project. No one's been able to make it a priority to do that... and sadly, in a case like this it's not clear there's much you can do to help from outside. :-(
It's an unfortunate bind to be in. We will try to think of ways to get out of it.