(Would also apply to items other than backpacks)
Problem: Items with storage always have same encumberment. Doesn’t matter whether they are empty or full.
A backpack filled with 10 liters of items gives 10 encumberment. An empty backpack gives also 10 encumberment.
Solution: Contents based encumberment.
Items with storage would have two encumberment values: Empty storage encumberment and full storage addition. (empty storage encumberment + full storage addition = current encumberment )
The applied encumberment would be simply
empty storage encumberment + full storage addition * stored volume / storage
Artist rendetition of the encumberment line
(if you want a fancy curve instead of a straight line use different equation)
This would apply to all clothes that store items in them: backpacks, clothes with pockets and clothes that store items (scabbard, magazine pouches etc).
Example: Backpack (with some values pulled from thin air)
empty storage encumberment: 5
full storage addition: 5
Storage: 10 liters
Items stored in inventory: 7 liters
encumberment = 5 + 5 * 7/10 = 8.5
When the player wears multiple items with storage the carried volume is split to the storage items by their storage compared to total storage.
Example:
Player is wearing backpack (10 liters) and a jacket (3 liters).
Player has stuffed 8 liters of items in their inventory.
Backpack gets encumberment from 8 * 10 / (10 + 3) = 6.15 liters
Jacket gets encumberment from 8 * 3 / (10 + 3) = 1.85 liters
Things may get messier if player wears a jacket with pockets and pants with pockets but wants to fill the pants first to avoid body encumberment. Probably easiest to just tell them to not wear jackets with pockets.
Optional: The encumberment could also take into account the weight of items carried. But that would complicate things somewhat without adding much value.