Cheap and safe don't go together in MEX.
I' suggest the JW Marriott. You'll pay JW prices but is is in a safe area. NExt to the Hard Rock and near many fine restaurants.
It's a city that has many great tourist spots but I'm afraid for the American lately it is VERY dangerous.