version v1.5.5e

My problem is with different types of products. Some products weigh about 25 lbs. Some weigh less than a pound. Different shipping algorithms cannot be applied to different products. I either lose money on shipping or charge too much. Is there any solution?
For something lightweight, there is a flatmate, and it doesn't go up much with multiple units...but the current shipping algorithm makes the price go sky high. If I base the shipping on actual weight, I lose money.

For heavier items, the shipping algorithm works quite well.

Not sure what the solution is. Any suggestions?