You can't win for losing here. A lot of people just won't read your email period. So you can either cancel the accounts of your free users and have 50% of your customer base freak out because you cancelled their account (perhaps wiping history in the process they find important) or you can keep them all active and upgrade them.
They could leave their accounts dormant until the users next signed in then ask them to either accept the charges or deactivate their account. That would be a lot more ethical than just going ahead and charging them and expecting them to opt out if they don't agree to the charges.