Virgin have been flying cruise charters to SJU for the past few years so have the experience of operating from there.
In terms of BA - could it also be something to do with AA? They have (or at least had) a fairly substantial operation at SJU serving the caribbean.