Use Priceline.com and specify a downtown location. That would put you within walking distance (not that I'm telling you to walk). You won't go wrong. Just remember your bid should be about 33% to 50% of their price guidelines.
Here's three great hotels all in a perfect location- about a mile to San Diego airport and right on San Diego Bay....you can walk to Seaport Village. All have airport pickup service.
Marriott Hotel and Marina
Embassy Suites San Diego Bay
Sheraton San Diego Hotel and Marina
I just booked the March 23 INFINITY sailing from Ensenada to Hawaii. We are staying one night in San Diego prior to the cruise.
Anyway, I used Priceline and selected a 4-star hotel for downtown. I was awarded the Grand Hyatt overlooking the harbor for $85. Not bad! I pulled up the Hyatt website to check rates for the night, it was over $250 for one night, so I feel I did well.
I'm also using Celebrity's transfers down to the pier in Ensenada, but they only leave from the airport. The hotel is close enough that a taxi will not be expensive.