The weight method tends to work because many plastics (notably ABS and styrene) tend to be around the same density as water, however it is inaccurate and misleading to refer to weight as a factor when deciding ballast tank volume. You could quickly run into problems if you build yourself a boat from sheet metal, or wood. Even GRP can give surprises.
In actuality, GRP laminates tend to be considerably denser than water- upto 1.6 or more owing to the glass content of the reinforcement.
There is only so much you can do with a paper and pencil. Ultimately as most subs are built to a wet-hull principle, trying to calculate the required volume is a bit of a nightmare, and likely to require a significant fudge factor, especially if the boat has an elaborate shape and/or lots of fiddly fittings.
Ultimately, it's best to make a few rough calculations, then build the boat and the dive module/wtc/pressure hull get it in a test tank and find out the volume of the boat at surface trim and submerged trim and subtract the difference, that will tell you very accurately what size tank you need, and it isn't difficult to do either.
Andy