Unadulterated contract law is brutal
Nor is it the same in every jurisdiction - I will focus on australia.
The central tenant of contract law is that the parties are free to agree anything that is legal irrespective of whether this leads to what may seem to be a harsh or unjust outcome to an outside observer (or the parties themselves). At common law, harsh and unjust terms are legal - only unconscionability attracts legal protection. However, see below.
The parties have an obligation to follow the terms of the contract in a way that gives effect to the purpose of the contract and to not act in bad faith - there is no obligation to act in good faith. Notwithstanding, a party that scrupulously follows the terms of a contract cannot be acting in bad faith - they are doing what they agreed to do.
That said, most “termination for convenience” clauses are, by their nature, discretionary. Where a party has a discretionary power under a contract they must exercise it reasonably. This doesn’t mean that they can’t exercise the power if it causes damage to the other party but, if it does, then that is a factor in whether the action was reasonable.
If the action was reasonable then only rights and obligations up to the date of termination are enforceable at common law. So, in your circumstance the customer is not entitled to a refund.
Many contracts are not made purely at common law and statute law has knocked some of the harsh edges off.
For example, this contract may be subject to Australian Consumer Law (ACL).
For the purposes of the ACL, a person is a 'consumer' if they acquire goods or services that are priced at less than $40,000. A person is also a 'consumer' if they acquire good or services that are priced at more than $40,000 but they are 'of a kind ordinarily acquired for personal, domestic or household use or consumption'.
If your “expensive subscription” is less than $40,000 then ACL applies and you are entitled to a refund for the services not provided.
Further, if the vendor engaged in “misleading or deceptive conduct” (irrespective of if you are a consumer) then the contract can be set aside and you get your money back.
If the contract is a “consumer contract” (which includes most “take it or leave it” contracts with individuals and small and medium enterprises) then a term is unlawful if it is unfair rather than unconscionable.