I use Brewer's Friend's (BF) water calculator which I find works quite well. I have downloaded my water values from our local water district, and this seems to help. The main factors I adjust for are the Cl-/SO4- balance (our water is very high in sulfates), and the alkalinity (which is also quite high).
BF is nice because it automatically pulls the grain bill from a particular recipe I'm planning to brew, and will provide an estimate of the mash pH. I can adjust the mash pH by adding acid, and it will provide a volume or weight for a specified acid. I use 85% phosphoric acid, and usually need about 7-10 ml for an 11 gallon batch (typically 14.5 gallons of strike water). This of course depends on how much crystal and other roasted malts are in the recipe, as these lower the pH on their own. I had previously tried this using pH5.2 buffer, but this rarely worked properly. I usually aim for around 5.3, which is a good compromise for maximal alpha and beta amylase activities. Using my Hanna pH pen (after proper calibration using pH 7.0 and 4.0 buffers), I have gotten quite close to 5.3 using the phosphoric acid addition to the strike water.
I also add CaCl2 to raise the Cl-/SO4- ratio for a more balanced hop flavor profile. This is not needed so much with English style beers (stouts and browns), but is definitely important for lighter styles (lagers, hefeweizen, etc).
So, my process is rather simple. Calculate the additions in BF, then run tap water through a carbon filter (to eliminate chlorine/chloramine), add CaCl2 and phosphoric acid as calculated, and proceed. I take a pH measurement from the same mash sample I use to calculate the mash gravity. So far, it seems to be working well.