For those who don't mind paying for certain athletes' autographs, I found a website that contains lists of players who sign for charity, not for profit (In other words the money you pay goes to charity, not to the player signing).

A nice way to donate to a good cause. I hate to look at it as being "rewarded" for donating to charity because that shouldn't be what it's about, but for me personally, I would be much more willing to pay $30 for said athlete's autograph if it's going to charity rather than if it's going to that player.

Not sure how up-to-date all the info is, but I'm sure most players' foundations have their own websites you can verify information on.