I like to use Braukaiser's batch sparge/partigyle calculator
. I've been doing the same thing you mention (3gal/5gal) for a couple of batches and its worked out great. I've already done an Imp Stout/Oatmeal Stout and an English Barleywine/ESB, and have the plans put together for a Weisenbock/Dunkelweiss.
To give you an idea, my English Barleywine/ESB was 19 lbs of grain and gave me a 3 gal batch at 1.090 and a 5gal batch at 1.050, while the Stout batches were 3gal of 1.095 and 5gal of 1.057 from 19.5lb of grain. I tend to save some of the grain back for the second batch (2lb or so) so I can up that gravity of the second batch a little and continue mashing it while I boil the first batch. That means I wind up mashing for an additional hour on the second batch, then sparging afterwards to get my full second batch.