Well, every modder has different views and ideas, and complexity explodes : from this:
distance = str * 2.5 / weight;
You end up with this:
distance = max(param_min_dist, min(param_max_dist, param_const + str * param_factor + str * str * param_quadratic / max(min_weight, min(max_weight, weight)))));
https://param_min_dist : minimum throwable distance
https://param_min_dist : maximum throwable distance
https://param_min_weight : items lighter than this are considered to have this weight for throwing formula
https://param_max_weight : items heavier than this are considered to have this weight for throwing formula
https://param_const : initial number of tiles (ie: 3 if any item can be thrown at least 3 tiles)
https://param_factor : multiplier of strength for thrown distance
https://param_quadratic: multiplier for squared strength, generally a tiny negative number so that there is diminishing returns for high strengh
Which may allows some very precise fine-tuning, but is completely obscure for both modders and players.