Try this one - my wife and I have stayed there (we live in Albany, NY) on 4 different occasions, twice prior to a 10 day Mex Riv cruise. It's not cheap, but it is very convenient to ALL of the attractions. There is a car rental facility close by, public transportation (including the trolley which gives you a very comprehensive short trip around town), a great area to walk around and shuttle services (the airport and cruise terminals are VERY close). I think you would enjoy it - the restaurants in the hotel are nice too. There are also nice tours you can take. If you have time, go to the wild animal park, about 25 or 30 miles north of the city (of course, you need a car for this) - this is a little different than the zoo, but both are excellent.
It is interesting, the airport is right in the middle of the city there.
Sheraton San Diego Hotel and Marina
1380 Harbor Island Drive San Diego, California 92101 United States
Phone (619) 291-2900 Fax (619) 692-2337
They do charge you to park - you may want to consider that, and perhaps get a car for a day or two rather than three. You would probably want one for a least a day, though, especially if this is the first time you have been to S/Diego.
I would suggest renting a car, especially when staying near or between the airport/cruise harbor. I live in SD and I would actually suggest staying in the mission valley area as you can get a great hotel and you are central to the airport, cruise harbor, zoo, sea world, shopping, golf, etc. You are also just 10-15 min away from both airport and cruise harbor as well. If you do prefer public transportation there is the trolley which is very accessible from both the downtown and mission valley areas. It is not near shelter or harbor island which is where the cruise terminal and airport are closest to. There are also some great places to eat and site sea in La Jolla and Del Mar and you would need a car to get there.