An additional consideration is that a parliament of agents that cannot bind themselves to a contract would probably agree to split their resources in a way that reflects their political power. So if you model yourself as a parliament of agents, some egoist and some altruist, donating a fixed portion of your wealth and income can be “rational” in the sense that it is the result of your subagents behaving rationally in the context of politics. I think this is actually a reason people give a fixed portion of their income.
An additional consideration is that a parliament of agents that cannot bind themselves to a contract would probably agree to split their resources in a way that reflects their political power. So if you model yourself as a parliament of agents, some egoist and some altruist, donating a fixed portion of your wealth and income can be “rational” in the sense that it is the result of your subagents behaving rationally in the context of politics. I think this is actually a reason people give a fixed portion of their income.