If you haven’t already, you may want to use an online tool to verify that your SPF/DKIM records look good. Setting those up typically goes a long ways towards keeping your email out of spam.
You may also want to ensure that your server isn’t listed on an RBL, which is something you can test here:
When it ends up in Junk at Gmail, do they indicate what the problem is? Gmail typically offers a message describing why (though admittedly it can be a bit generic).