Complain to Swiss via email and demand payment for your hotelroom and other costs. Await their reply and post it on this forum. Bad publicity is something most carriers certainly don’t appreciate.
Not much else you can do at this moment.
Otherwise: consider Easyjet. Normall at a lower cost and you know that the treatment you got from Swiss is standard operating procedure for Easyjet.