So many factors such as suit type, (wet, dry, neo, membrane, undergarments), tank type (steel, aluminium), tank size and max pressure rating, water salinity, body fat/muscle/bone density, lung capacity and so on no formula is accurate at all.
The way we're taught is to be able to hold a 6m stop (slightly negative there) with a near empty BC with a near empty tank.
Me personally.
5ft 9"
170lbs
Membrane drysuit + weezle + steel tanks (12l and 15l 300 bar) i need 11kg (24lbs)
Abroad in 28c water, 5mm full suit, steel 12l tanks i need just under 3kg (6lb).
Both those salt water as ive never dived fresh.
FWIW to be able to stay on the bottom in the pool with no suit but same tank i need about 1.5kg.
A persons weighting will depend even on what they ate recently and physical condition, most people have to do a weight check at the start of a new season here and find its changed.
---
Full/empty tank debate - empty tank every time for me. You need to be able to stay down assuming a worst case scenario - OOA or very near. Although you can calculate the "weight" of air in a full tank and calculate backwards to work it out its more accurate measuring on empty.
Every diver will start every dive 3-4kg overweighted purely due to the air in their tank (more if on twinset etc).
One fairly useful url for working out the weighting changers of different cylinders is here:
http://www.subaqua.co.uk/cgi-bin/cylinder-buoyancy.cgi