IMHO, the criticisms of MIA are drastically overstated. Two hours is more than enough time to connect in MIA on the outbound. On the return, however, make sure you have two full hours to connect, as you'll need to clear immigration and customs in MIA.