I would probably wash the can(s) more frequently. I usually just squirt some dish soap in our garbage cans, hose them out well, and let the sun bake them dry. Clean the lid too. Try to let them dry completely before putting the lid back on.
I sometimes sprinkle a bit of baking soda, or baby powder in the bag (in the house) to keep the odor down. I use a 4 gallon garbage can with lid for diapers, so it gets thrown out frequently.
I know simple human sells garbage cans with stick on charcoal filters, so I don't see why a briquet in the can wouldn't work.
Or possibly some kitty litter, if you have a cat.