If transaction fees are going to be randomly enforced with no way to stop it, may as well just slap a tx fee on every tx. Make the minimum tx fee 0.0005 BTC every time, with the option to pay more to potentially get a tx to go through faster.
But having the option to set tx fee to 0, then pay tx fees, that's just confusing, misleading, and frustrating.