Sounds like the five geeks around the fire with a laptop and some Diet Cokes are here on this thread. I use Eagle Rock's method with full at 3,700' (25,166,112 af), dead pool at 3,370' (1,731,287 af), and empty at 3,180' (0 af), then interpolate between those numbers based on the cube of the ratio of the depth at the dam (feet above 3,180) to the full depth at the dam (520). That gets me really close to the BoR numbers, and is also useful for calculating potential depths with different changes in capacity. I didn't make any adjustments for additional sedimentation or bank storage, though. I have it all in a spreadsheet and can plug in whatever pool elevation I want to calculate. That gives me a total live storage of 5,443,325 af at 3,522.24'. By comparison, Table 2 has 5,278,484 af at 3,520'. I calculate 5,303,369 af at 3,520', off by 0.47%. That's not too bad considering I'm totally ignoring the intricacies of the geology and approximating the reservoir as an inverted cone.
I first started tracking this back in 1993 or so when the lake dropped to 3,612' after 5 years of drought in the late 1980's and early 1990's. Very roughly the lake was dropping 10% of its storage each year of a five-year drought, and was a little above "half full" but nobody seemed to be extrapolating the trend or freaking out.
We should also consider that we can measure pool level with extreme accuracy (1/8"?), but are not so sure about storage (with sedimentation and bank storage effects). I'll go out on a limb and suggest that the river gauges have a +/- 10% margin of error. They can probably measure the flow through the dam a little closer than that.