Viking has promotions on a near-weekly basis. (OK, monthly). Might be on your cruise of interest.
Be aware of Viking's early payment date. (Earlier than most lines). If you don't like it there certainly can be availability close in but the number of choices might be limited.
A travel agent may be able to get you some on-board credit. Also, an experienced travel agent (if such even exists) may be able to suggest other cruises/ lines that may fit you better. On the other hand, you will need to work through the agent if there are issues. Personally I have not used a travel agent, in part because I haven't seen one since the nineties.