I've written about this a lot on this Connect Group, but unfortunately I don't have a lot of good news.
The area close to the cruise ship terminal is very nice, modern and because there are a lot of cruise ships at that time, they tend to be expensive.....>$200. There is a Days Inn in that area that is more reasonably priced.
You can go a little farther afield in the "gay area" in the West End of town around Denman and Davie. There is the Coast Stanley Park and the Sylvia that are a little older, tend to be more "long at the tooth" but safe and clean. It is a good part of town to stay in. Interesting, lots to do, less expensive and really good dining, and close to the ocean. It would be a $10 - $15 cab ride to the cruise terminal.
Then there is the whole area around the airport that will be much cheaper for the type of hotel. There is no regular shuttle service, but there is a "Skytrain" from the airport area right to the cruise ship terminal and it is easy to ride. An all day pass is $9. A cab ride would be in the $40 - $50 range.
I would suggest that you don't get into a non-refundable reservation, as on things like Hotels.com or Expedia, the price will drop like a rock as rooms are not filled 2 - 3 weeks before the cruise. I've booked a couple of rooms that I can cancel and will check back around Sept 1st and see what I can get for the price.
My very favourite hotel is the Fairmont Waterfront that is right across the street from the cruise ship terminal, but I get to book it for reduced rates due to business I do the rest of the time. It can be pricey, but I love it. BTW, I have no cennection with any busnesses in Vancouver.