I agree that San Francisco has many advantages as a port city. However, the people who operate the cruise lines must have their business reasons for not featuring this great city.
Having sailed out of and into the Port of San Diego several times I can tell all that this is a wonderful port city. Southwest Airlines has many flights to San Diego from Oakland and the San Diego airport is at best 20 minutes from the San Diego cruise ship terminal. There is lodging in all price ranges within a reasonable distance of the cruise terminal, with lots of restaurants and interesting things to do.
Hope that this helps.