Losing a large list seems scary, but there is significant upside to gaining permission.
I would take a small but significant sample (5000 records) who haven't opted in or out, and send them an email asking them to opt in to continue receiving emails. If they don't respond, suspend marketing to them. If they do respond, track this as a program.
What you'll likely find is the number of opt-ins is small (10%) but their engagement in the future far outpaces those who never opted in. This is the kind of data that can demonstrate a business value in using opt-ins rather than spamming everyone.