I use the same comparison site that a few others have mentioned. I have purchased several policies from different highly-rated companies (Roam Right, Travel Guard, Nationwide, etc.), but I've never had to make a claim so I can't really speak to how it would work out to actually use the insurance.
I agree to read the fine print about when you have to purchase and what the restrictions are. Another option might be that some policies offer a "cancel for work reasons" clause that specifically covers having your time off not approved and/or revoked. It doesn't cover canceling for *any* reason, but it might cover the reasons you're considering and I think the "cancel for work reasons" policies are usually less expensive than "cancel for any reason."