For both carbon and copper:
PatchOut (the liquid form of WipeOut), and WipeOut, both used with the accelerator. WipeOut allowed to sit for 12 to 24 hours works really well.
For carbon:
M-PRO7,
SLIP2000
GM Top engine cleaner (which may not be available any more). The GM-TEC is the best I've ever found for bad carbon/powder fouling but it stinks and really needs to be used outdoors or in a location with an exhaust fan.
For copper:
BoreTech Eliminator. Get the carbon out of the way to expose the copper, then leave this stuff in there over night and the patch will come out dark Navy Blue. This stuff works.
I'm been going to get some Montana Extreme 50BMG solvent but BoreTech works so well, is easy to use, and won't harm the bore if left for days, that I can never quite bring myself to buy any.
My CZ varmint rifles get a thorough cleaning in the fall, takes about 3 days, then a light coat of oil followed by 1 dry patch. In the spring, absent any load development, they get a 3 shot zero confirmation, then don't get cleaned till fall, or after 50 varmints taken down, which ever comes first. Both of the CZ's (.223 and Hornet) and my Savage .243 shoot over an inch off zero from a clean bore, so I like to take them out to hunt with a bore that has already had fouling shots through it.
The new Remington 700 BDL in .17 Remington has the best clean bore performance of any rifle I own. Go figure?
Fitch