I'm not usually a resort person, but I did stay at a couple of resorts on St. Croix using skyauction.com a few years ago. I had lived on the island and had seen the resorts in person and knew people who worked there, so I had some idea of what I was getting into. One was the Buccaneer, which is more centrally located. The other one, which I like better, is called Carambola, which used to be privately owned and was sold to Marriott a few years ago. (It's now the Renaissance St. Croix Carambola.) So if you have Marriott points, or if you can find a deal on it somehow, that might be a good option if Skyauction doesn't work out.
Book in the off-season if you can, or at least the shoulder season. Go to less popular islands like St. Croix. I also love Grenada, although I haven't been there since 2002, which was pre-major-hurricane. (How did all that time pass so quickly?! I need to go back again!) Roatan is also gorgeous and frequently overlooked because it's waaaay over in the western Caribbean. It still has plenty of Caribbean flavor, though. Beautiful resorts there, or you can rent an entire 3-bedroom house on the beach for a month for $900, which is what I did.
Now that AirBnB exists, unless you really want a resort for some reason, I'd probably look into that first.