So, I'd suffered from horrifyingly-smelly tonsil stones since I was quite young. I have since discovered I differ from both food and environmental allergies. Long story short, I found that treating the symptoms of the issue wasn't good enough.
The best thing I've found to combat tonsil stones is using a nasal rinse system (squeeze-style neti pot). Not only did this help thin the mucus (that would have ultimately turned into the trapped, aging stone material), but it prevented allergens from residing in and aggravating my nasal cavities. Because the stones are basically rotting mucus, I had to solve the underlying issue.
Because I was able to rid my sinuses of all the debris and mucus buildup, I'm able to breathe so much more freely, without the aid of medication or other tools. If I'm unable to do the rinse safely (while on the road, for instance), I'll gargle and rinse with a 1:1 mixture of water and hydrogen peroxide to break up any stones and neutralize the odor.
Best of luck! Here's to breaking through!