Here is my version of anti-spill cup holder. It is easy to print and is designed in such a way that the weight of the cup is applied along print layers, which makes it more rigid.
The bottom of part2 slides into part1. Part3 needs to be stretched to fit into the hole of part2.
Use template to cut out an optional pad. Old mouse pad with rubber bottom works the best. You can also use sheet of cork, but consider that cork will camber if it gets wet.
All parts were designed to utilize the maximum print space of my VertexEvo printer and can fit up-to 15 cm high cups. For printers with smaller print beds - just scale down all STL files.
This anti-spill holder is shown in action here https://youtu.be/n1Hlr1gj37A
VERTEX K8400 with E3D print-heads
Printed with PETG.
For PLA 20-25% infill should be fine.