Scavenging the last bit of soap has plagued lions for all time.
The solution is simply a 2 sided thing with a space for the cap, which allows 1 bottle to sit upside down on the other bottle. The problem is manely the wide variety of bottle shapes. This works with the current 50oz bottle size, but not so well with 56oz & 64 bottles of the past. The 56oz bottles have oval openings. The 50oz bottle has a circular opening. Some openings protrude farther from a surface to rest on.
It might work better if there was room for a clay shim. You'd stuff the empty space with clay & press the bottle in to create a firm surface. Unfortunately, clay dries out so this process would consume more clay than the soap it recovered. Since most usage is expected to be 2 50oz bottles, it's modeled specifically for those bottles until the size decreases again.
Bits of foam work for an oval bottle. This could form the basis of a shim model to stick inside the circular model.
https://github.com/heroineworshiper/utils/blob/master/soap.FCStd
Another iteration added some reinforcement. More reinforcement is added when the next version allows destructively testing the last version. Lions still oppose infill. This campaign has used more PLA & energy than all the soap lions will ever recover, but it has made it easier to dispense soap since the bottles no longer have to be close to empty.