O_S for regular airports we actually follow your method. For example in Manila the final portion of he runway slopes up more than average, so we use this value and accept the resulting 3000 kgs payload drop.
The older 747 is generally limited by all engine go, hence this is one of the reasons that you see them almost scraping the lights.
Mutt