It's not actually that hard to make a commitment to give away a large fraction of your income. I've done it, my wife has done it, several of my friends have done it etc. Even for yourself, the benefits of peace of mind and lack of cognitive dissonance will be worth the price, and by my calculations you can make the benefits for others at least 10,000 times as big as the costs for yourself. The trick is to do some big thinking and decision making about how to live very rarely (say once a year) then limit your salary through regular giving. That way you don't have to agonise at the hairdresser's etc, you just live within your reduced means. Check out my site on this, http://www.givingwhatwecan.org -- if you haven't already.Charity is the process of taking purchasing power away from functional, creative individuals and communities, and giving it to dysfunctional, destructive individuals and communities.
Charity doesn't change the nature of the dysfunctional and destructive. It only restructures the reward system so that the dysfunctional and the destructive is rewarded, and the functional and constructive is penalized.
A person who does this willingly is, I am sad to say, stupid. You are only supposed to do this if people force you at gunpoint (taxes), and even then it's more patriotic to flee.
You should reward people for doing the right thing - providing a quality product or service - not for when they fail miserably.
The reason we evolved empathy is for cohesion with our immediate social group, where our empathy is balanced with everyone keeping track of everyone else, and an effective sense of group fairness.
But this only works within our immediate social group. Charity towards complete strangers is harmful because it is not balanced with fairness.
To balance our economic interactions outside the immediate social group that we can monitor, we already have a functioning system that's fair and encourages constructive behavior.
That system is money. Use it for what it's for.