I'll add one remedy that will sound crazy but that will work. Get a small bottle of citrus oil (lemon, lime, or orange) as is used in aromatherapy. Natural food stores like Whole Foods and many vitamin stores carry aromatherapy oils. A single bottle should cost less than $10.
Apply a few drops of the oil to the bunion by dabbing it from the upside down bottle. Avoid any open cuts and do not get any in your eyes, as can occur through indirect transfer from the hands. Do not let pets have any contact.
The oil is thin and will quickly penetrate the skin, reducing both pain and inflammation. Add more as the oil absorbs into the skin. Several applications a day are likely to be necessary.
The science behind this is that citrus oils contain a compound called limonene that has proven anti-pain and anti-inflammatory effects. Bengay works in a similar manner by way of analgesic compounds in eucalyptus oil, but with the disadvantage of a heavy medicinal smell.
What about taking d-limonene capsules?