(Using Principled BDSF)
I'm aware that glasses are naturally going to have a bit of black anyway, and I have no problem with the black sections around the base of the main section and the beginning of the handles, but the rim just can't be correct, can it? It started out from following the BlenderGuru tutorial, but his looks nothing like what I ended up with.
If you look at the .blend and image you'll see there is definitely a problem there (at least I hope so - I'd rather a fixable problem than a generally incorrect model/scene). Rotating around shows that, even when the rim has only 2 layers opposed to 4 for the light to pass through, the problem is always there on the rim. Thickness of the glass and how many layers it passes through is not what is affecting the rim. Those 2 things do affect the base/handles, but I'm happy with that.
I have tried adjusting geometry and applied the first layer of Subsurf as other posts said to - no change.
I tried adjusting the bounce levels on light paths, under both Path and Branched Path Tracing - caustics and transmissions etc etc - but nothing seemed to happen.
I added an HDRI in case lighting was an issue, but again, no change in the rim.
The only thing that seemed to do anything is applying a Solidify modifier at a very low thickness above Subsurf in the stack, but this surely isn't the correct solution and the IOR seems off to me after doing so. I have already applied thickness to the model anyway, so it's not like I have a paper-thin glass.