In my experience pharmacies are great for printing your passport photos (ie 6 photos for $0.30 or something) but not that great for taking the photo.
If you just use a digital camera, stand in front of a light colored wall, get a friend to snap several pictures (try bouncing flash, diffusing with tissue, etc.), choose the best then use a photo tool to get rid of red eye and put six copies on one sheet, then print at CVS, walgreens, whatever.
Once you have the JPEG file set up this way you can now get 6 photos for the price of 1 4"x6" print - just cut with scissors. Keep lots in your desk drawer, clipped to your passport etc. for visas.