You can do the exact same thing you mentioned with math. Theorems aren't arbitrary; there's a way they're derived. If you learn how the theorem comes to be, even if you can't remember exactly, you can often remember enough to come up with the theorem again.
I think the way you learn is the ideal. Knowing the context behind the facts you learn gives them worth, and the redundancy of being able to derive the fact from the context also makes it better integrated with the rest of your knowledge and easier to remember in the long term.