I remember when MI cancelled my flight from Darwin back to Sing a few years ago, there truly was a lack of great alternatives.
One challenge was that they cancelled my return flight 2-3 weeks out.
I ended up booking Jetstar for the return flight. SQ might have been willing to put me on one of their flights from some other Australian airport (but try to get to any of them from Darwin...). MH was also discussed as an alternative at some point, but I think would have been a push.
23h trip via Singapore does not sound too bad...? I can't imagine the direct VJ flight can be much more expensive?
Edited to add - I'm not convinced complaining to SQ will be worth the effort. I think easiest to take the refund and book VJ if that is the preferred option.