You can often get them to not charge the early termination fee either by either being really deserving-seeming, or being a belligerent asshole (but you have to be consistent). At least with t-mo and sprint, never tried with ATT or VZ.
If you have free roaming, one strategy might be to connect to another carrier's tower and make long/consistent calls on it, forcing your provider to pay them more than the $100/mo that you are paying your provider.
If you don't have free roaming, a similar strategy might work with unlimited minutes on their own network if you just use enough of them that their costs are too high to support you. If you don't have unlimited minutes, you can probably upgrade your plan, use a ton, then if they try to force you to switch or pay overages, you will likely also have the option to walk away from the contract without a fee.