While diving is usually priced in dollars and so is unaffected by rate fluctuations, it almost always makes sense to use pesos for all other local purchases. Merchants usually post a safe rate for dollars leaving themselves a cushion in case the dollar weakens.
You'll get the best rates of exchange at banks, rather than the streetside cash exchanges, but since things are so volitile you might want to shop the rate at a few banks. Often the actual rate will be different than posted in the window. In my experience HSBC at the corner of the square often has the best rates of exchange.
I suggest you travel with US currency and convert on arrival. Be sure that all your bills, especially $100s, are of the newer types in good shape, since many banks no longer accept the older US currency, nor torn or marred bills.
You can also use ATM's which will give you the bank rate of exchange, but know in advance what your fees will be. Some banks have partnerships, like Bank of America and Santander Bank which allow you to use ATM's without any fees.
Avoid credit cards which can hit you with serious surcharges. Many issuers now charge both foreign country and foreign currency fees which can add up to 6% or so. One of the only major credit card companies not charging any foreign fees is Capital One (free plug to a good company).
Lastly, a special warning against paying USD costs such as diving, with a credit card. The merchant often can only bank Pesos, and converts your USD purchase to Pesos at a not so great rate. Your credit card company than converts it back to dollars to bill you, often coming out with a total higher than the original price, then adds those nasty fees, so your $80.00 dives might cost you $85-$90 when you get home.