I use an 8 gallon kettle for all of my brewing, which is primarily all-grain 5 gallon batches.
I lose about 1 gallon in a 60 min boil and overshoot by about another half gallon for trub losses (kettle and fermentor), so that puts me at a pre-boil volume of 6.5 gallons. With 4% volume increase due to the boiling temperature, that'll take up about 6.76 gallons, which leaves me with about 1.24+ gallons of headspace in the kettle for things like a wort chiller, heatstick, or just boilover safety.