Yes, the "I agree box" being defaulted to off is legal issue not a UX one. You'll want to get your solution approved by your legal team; different teams have different standards and there's no one "most legal" way to do it, so that I have to leave to you.
Arguably there's a UX issue here in trying to make sure users read your legalese, but I'll consider that a separate question.
As for auto-selecting the checkbox, I think that defeats the purpose of the checkbox and makes this a bit more confusing than it has to. Instead, how about something like this:
download bmml source – Wireframes created with Balsamiq Mockups
Now "Agree" is our default and it's easy to find, all of our legal text is presented, and they're still reading the button label before they click it (usually). There's no need to uncheck the box to not agree. Making "I don't agree" a separate button turns it into an action rather than a state, which really makes more sense than having a checkbox. After all, what's the workflow for not agreeing via a checkbox? Just exiting the form?