If there was a way to bypass spam filters, the spammers would abuse it.
What a commercial mailing list operator does, and which you cannot easily replicate, is build and maintain a reputation as a responsible and reputable source of bulk email. If you are not going to be getting into that, perhaps you could benefit from getting help from a commercial mailer. Professional mail is a big business, it seems unsettling if you have not been able to find a commercial provider. Are you trying to get away on the cheap, or doing something objectionable?
Abuse handling, bounce handling etc are important to get right, but until you have significant experience, your reputation is going to remain zero, if not negative (which is a reasonable starting point for unknown domains in this day and age). A lot of the reputation-based stuff like SPF, DKIM etc will help only if you have a reputation to defend. On the other hand, it does send the right signals to somebody who is deciding on whether or not a sender is to be treated as reputable (or rather, their absence is not a good sign; neither, in my book, is anything to suggest you are using homegrown and/or prerelease software to send email).
Having said that, if you really think you want to do it on your own, you should probably use a proper mailing list manager, rather than create your own software. This is an opportunity to migrate all your users to a proper mailing list infrastructure, where they can opt in to your mailings, or opt out, irrespective of their status on your site. This way, you can also divide your communications into separate lists for important operational announcements (say, one per three months maximum) vs. chatty and/or promotional mailings.
A proper mailing list manager can handle the nitty-gritty of processing bounce messages, combining messages to recipients in the same domain, putting in the proper headers, etc.
Check your announcement with a few volunteers before you start a big campaign. Maybe you have a few critical users on your site who can try to offer constructive input.
Take all complaints seriously, make sure all your addresses are confirmed users of your system. Start small, send to maybe 5 or 10 per cent, perhaps with a priority towards current active users, and stop immediately if you start getting more than stray complaints.
Monitor blacklists and take action if a popular list starts blocking you. There's a good number of online tools but the oldest is probably http://www.moensted.dk/spam
Major edit; revamped the reply to emphasize the use of ready-built solutions and commercial service providers. You really don't want to write your own mailer.