This is definitely the right approach. Do the following in addition to the DI test. Add about 10 mEq of acid per kg of malt and measure the pH. Thus if you weigh out 50 grams of malt (1/20th of a kilo) you'd need 0.5 mEq of acid i.e. 1/2 mL of 1 N acid or 1 mL of 0.5 N acid (which may be easier to measure out with, for example, a syringe). You can make 1 N lactic acid by putting 8.48 ml of 88% lactic acid into a cylinder and making up to 100 mL with RO or DI water (DI preferred) or half normal by making up to 200 mL. Palmer's book has dilutions for other acids. If you do this test the amount of acid per kg divided by the pH shift is the average buffering capacity of the malt. For example if the DI mash pH is 5.7 and adding 1 mL of 0.5 N acid moves it to 5.2 and the malt sample weighed 50 grams then you have added 0.5*(1000/50) = 10 mEq/kg and the average buffering is -10/(5.7 - 5.5) = -50 mEq/kg-pH (with the minus sign being there because acids have a negative proton deficit). This ignores the non linearity (the buffering capacity seems to increase as you move away from the DI mash pH) but should be better than just guessing based on malt color.
Now how to deal with the colored malts. The same way but you need a base of calibrated strength. That's hard to come by as calcium containing bases react with malt phosphate to release acid and sodium hydroxide solid picks up water and CO2 from the air very quickly. For acidic malts sodium carbonate should do. Make a 0.5 M solution of sodium bicarbonate by adding 8.4 grams to a mixing cylinder and making up to 100 mL. Grind up the dark malt, put 50 grams in a beaker, add DI water mix, hold at about 50°C for 25 minutes, remove some liquid, cool and measure pH. Now do the same again but add 1 mL of the 0.5 N sodium bicarbonate solution. Remove and cool a sample and check pH. Lets say that the DI pH was 4.9 and it rose to 5.4 (half a pH unit as before). As before the buffering capacity is the amount of acid neutralized divided by the pH change. To determine the amount of acid absorbed you need to know the normality of the 0.5 M bicarbonate solution. That comes from the curve below (which is also in the Water book on p 96). At final pH (5.4) the charge on 1 mmol of carbo is -0.1. The charge on 1 mmol of bicarbonate is -1.0. There has been a change of 0.9 and as the solution is 0.5 M the normality is 0.5*0.9 = 0.45 N. Thus the average buffering capacity of the colored malt is
0.45*(1000/50)/(5.4 - 5.6) = -45 mEq/kg-pH.
Now with these two buffering capacities you can easily calculate how much acid is required to lower the pH of base malt and how much acid is provided by the colored malt. Mash pH is the pH at which the two balance.
Just musing here....