Consider trading out at or near expiration. Trade out as a spread. Yes it may increase your trading costs, but will also vastly increase your flexibility and avoid the exercise issue.
The problem is that this was a spread with somewhat illiquid options with atrocious bid-ask spreads. And this spread was very deep in the money, so the bid-ask was even wider than what it would have been near the money. So, trading out of it would have required me to give up more than half of my profits (if not all of it)
This is not necessarily the case. Even in stocks with wide markets on the options, the spread markets can be tight. If both legs of your spread were in the money on the last trading day, it is likely you would not give up much edge selling it out if you enter the order as a spread.
Might save money when you take into account 2 days you can't trade and the assignment fees. If you are long a 5 point vertical, start by offering at 5.00 the decide how much you want to pay to get out the last day. Drop your offer a penny at a time and leave it there for 30 min until you reach your limit. You might find a MM will to make a few cents for a few hours.