If both routers are originating the default route all the time, one failure will leave you with load balanced traffic being black holed. I think what you're doing is fine, except that caveat. I'd probably condition default route generation on the link towards the service provider being up.
There are a couple of ways you could do this. For instance, you could set up static defaults towards the service provider, along the interfaces (as long as they are point-to-point interfaces, not broadcast interfaces, like ethernet), and redistribute those into OSPF at the edges. You could run BGP with the providers just to get a default, so you can redistribute that default in ospf, and then, when the SP connection fails, the default will go away.
Either of these should also work with OSPF and default-information originate, without the always keyword. The default-information originate command also allows a route map to be attached to it, describing when the default should be originated. You could then condition the default being generated on some other route being in the routing table, such as the connected network that leads to each service provider.
If you need more information on a specific option, please post here, and someone can probably work up a configuration, or point to configurations on CCO, for any one of these.
Russ.W