Upvote:2
There is no such thing as transiting, as it is known in other localities and related to VISA's, within the US. You must go through US Customs and Border Protection, or its representatives, any time you deplane in the US. So, if you stick with your flight plan, to include the layovers in NYC/Miami, yes, you would need a VISA. (India is not currently in the VISA Waiver Program, so that is also not an option.)
Upvote:3
To transit US you will need a Visa see a question that covers that topic:
If you're looking for alternatives you may be hard pressed to find them but you could try changing your itinerary to:
Dubai -> Moscow -> Havana -> Grand Cayman
This avoids the US and to the best of the information I have available will not require you to obtain transit visas at your transit points.