Lot of things you can check:
- Does your domain have SPF in place
- Do you have proper MX records in place?
- Do you have a reverse DNS entry for your MX record domain?
- Are you sending mail from the same domain as your MTA?
- Are you using authenticated SMTP?
- is your server IP on any blacklist?
- Does your DNS perform open relays?
- Are you including proper headers in your email? Mime, etc. Try whitelisting yourself and sending mail to yourself in an inbox that is controlled by SpamAssassin...usually gives a good glimpse into any red flags your email may be waving at the MTA
For hotmail, there's https://postmaster.live.com
-- this site is a tool that lets you diagnose mail sent to hotmail (ie. why it goes into the junk box).
Hope this helps! These are the toughest issues to diagnose IMO.