I always book right away. No use waiting until the last minute and risk not getting the car you want. The beginning of July is Carnival time on STJ and the island can get busy.
Most places that I've dealt with, STJ Car Rental, Conrad, and Courtesy, require a 100 dollar deposit on your credit card and balance due when rental returned.
I usually book about 4 or 5 months out and we go in the summer. I doesn't hurt and they certainly don't seemed suprised by it on their end. Just think, if they book in order of who calls first, then you would have the better vehicle.
I booked my car with Penns as soon as I had my dates--six months out. They took my credit card number when I reserved, but they haven't charged me yet.
It's like looking in your soup and finding a whole different alphabet.