Mine are without doubt the result of 1)physical predisposition... tapered toes and a big toe that (even before the bunion) tends to lean in) and 2) spending the bulk of my adolescence as a ballet dancer (dancing on point from ages 10-16).
Bunions don't come from rubbing in shoes, they come from your big toe being squeezed inward toward the little toes, thus opening the joint on the side of your foot. Focus less on what the shoe is doing right AT the bunion (although that's important too) and more on what's happening to your TOES.
My bunions are pretty bad (the one on my right foot especially), and if I don't take care of them daily, they cause me pain pretty much constantly.
HOWEVER, I've been advised NOT to have the surgery. Since the surgery is basically to break, shave, and realign the joint, the recovery is long, and often more painful than the condition itself. Also, I am dancing again, and am a teacher (on my feet all day) so being off my feet would really be an intrusion into my happiness.
Here's what helps me:
-get "yoga toes" (or CVS sells an excellent knock-off) which slip on your feet like pedicure toe separators and gently stretch and relax your feet. Wear them every evening on the couch.
-wear a toe spacer in your shoes
-Make sure your shoes are wide enough at the front of your foot.
-Stick with flats.
That combination has kept me pretty much pain free for months, and allowed me to dance again. Good luck.