My top recommendation would be San Juan, Puerto Rico. It offers a wonderful mix of history and culture and nightlife and great food, alongside excellent beaches and abundant activities. Hotels and rental apartments are mostly in the mid-range for the Caribbean, but food and drinks and most other things are great value. You could get a place in the Condado area, which is close to the lovely Old San Juan neighborhood and plenty of nightlife all around. And then perhaps you could rent a car and stay for a few days at one of the smaller beach towns elsewhere on the island. You wouldn’t even need a passport, although it does feel fairly exotic while you are there. But because it’s part of the US, it’s also well organized and safe. Most people you’ll meet will speak at least some English, and many are fluent, so it’s easy even if you don’t speak Spanish.
As for flight connections, Barcelona and Madrid should have decent connections to Toronto and Delhi, while Casablanca (Morocco’s largest airport) probably does not. So Spain is the better choice by that standard. On the other hand, you can get to Morocco by ferry from Spain in a short time, so you could go to Spain and also visit Morocco for a day or two.
Malta would have decent weather as well, but I think the nightlife there is pretty dead during the colder months because they don’t get many visitors. They don’t have proper beaches as well, as the coastline is mostly these huge rocks. If you really want a warm beach in December your best bet is the Canary Islands, and even then it can be slightly chilly in December. But the nightlife in Malta is pretty dull, since so many of the visitors are retired Europeans.
I’m happy to hear that this information is helpful. My first thought is to wonder if you’ve been to Goa yet? I’ve spent 4 total months in India to about 15 different places, and I know all about the insane crowds and whatnot that you would prefer to avoid. In my experience, Goa is totally different, and that’s where I’ve spent by far the most time. I remember spending time on Calungute Beach and I was surrounded by mostly domestic Indian visitors including many families. There are other beach towns and areas that are even more mellow in the south. The beaches there are quite nice as well, which is something I didn’t find as much of in Kerala, Putacherry, or even Puri. At least it would be the fastest and most affordable destination, and it should be very nice in December.
One thing I can assure you of is that those countries are very modern and well organized, and they know how to deal with winters well. So you really don’t have to worry about getting stuck or things being cancelled. As for getting around, the trains are modern, and they can be reasonably priced if you buy a couple months in advance. Otherwise, flying is probably your best bet because it’s a large area and you’ll probably want to go well to the north, and the trains might take many hours. You could even rent a car, which could be good if there is more than one or two of you. Have a great trip. -Roger