Whats going on with my head gasket?

I have a 2002 Subaru Forester that I bought in January 2014. It had records of a head job done in 2011 - the head gaskets were replaced as well as the heads resurfaced at a machine shop (this was at 94,000 mi), In February (at 130,000 mi) the car began to overheat. I pulled over and waited 15 minutes, then started it up. It was running cool, so I drove it to the nearest advance auto. I smelled exhaust in the coolant and saw bubbles in it, so I bought Blue Devil and followed the instructions exactly. I even drained and replaced the coolant first. I have been using a conditioner as well. In April, 3 months after the Blue Devil, the car overheated again. When the car overheats, the heat inside the cab turns cool. When we stopped, I smelled the bubbles in the coolant and it smelled like exhaust. I am thinking that there is an internal leak again. It seems I need a head job again. Here are my questions:

  1. Should I try to replace any of the following first? - radiator cap? thermostat? (with Subaru thermostat - since the others have copper), de-clog the radiator? retorquing the head bolts?
  2. Should I try the blue devil again? (I would really like to put off the cost of the head job for 1-2 weeks until I can get the $ together)
  3. If I need the head gasket job done, is it a bad idea to try to do it myself? (Get the heads resurfaced at a machine shop then do it myself?)
  4. If I need to get this done, even at a shop, why did it happen again (2011 and 2014) and how can I prevent it from happening again in the future? Is it worth putting $2k into if it may just happen again?
    Thanks for your help in advance - this is a tricky one!
    P.S. - I really want to keep the car - other than the heads it is in AWESOME shape for a 2002.
    Ash