IMHO the least computationally expensive method of rendering situations like a liquid in a glass is avoiding double surfaces.
In other words - one surface defining air-glass and one for glass-water transition instead of doubling as glass-air/air-water. This should avoid the artifact when a bottle has a clear glass contour around it’s colored content and make render faster.
To achieve that, the surface between glass and water should step down in refraction value from 1.55 of glass to 1.33 of water, as light passes to less dense material, thus making surface refraction value less than 1. About 0.88 if I’m not missing something.
The problem is refraction value of glass shader in Cycles is limited to >=1. Why so?
Edit: I was able to achieve possibly the same as desired effect by making water with right refraction (1.55-1.33+1), but normals pointing inside. Though it might not do any good if material will have some diffuse component percentage.