Use a DUP scheme built around giant sets. I'll change things up every twelve weeks or so to keep it fresh, or focus on different weak points.
Example being the current program -
Power Movement (Primary Variation)
Technique Movement (Competition Lift)
Assistance Movement
Assistance Movement
Finisher (EMOM)
Power is always set-up the same based on prescribed intensity / volume for the day.
Technique can be either Form, Endurance, or Speed focus.
Assistance can be any of the above, rotating daily.
Finishers are EMOM.
But I've laid out and run various programs. Most are built around the same basic skeleton / matrix. Movement selection depends on where I'm sticking.