Collecting donations is an annoying problem for server operators and players alike.
The most obvious method is to simply collect money via a payment system such as PayPal. However that automatically incurs a 2.4% fee + 30c per transaction which becomes 8.4% (32c) of a $5 donation or 5.4% (54c of a $10 donation). It's pretty inefficient, nevermind the annoying UI.
Some GSPs (game server providers) offer solutions such as Multiplay's Clan Pay. That's a step in the right direction but it should be much easier.
The biggest barrier to donating IMHO is the fact that a player has to do it outside of the game interface. And if you've ever run a server you know there's not many opportunities to nicely remind players to donate - MOTDs are routinely ignored and spamming messages during the game is futile because people are there to play, not to read your spam chat messages.
Ideally players should be able to pay directly from the game. If Valve were to get involved they could implement a Flattr type system where players could nominate an amount they are willing to spend each month (say $5/mo) and Valve could distribute it amongst the server(s) the player likes, or play on frequently.
But foregoing Valve's involvement there is a solution that some motivated hackers could rig up. This solution also has the benefit that players don't have to contribute money but can donate items/metal instead. This has the benefit that anyone can contribute, not just those with credit cards, and people can contribute without spending any money - they only need to play the game to get random item drops. Also, it would mean that truly micro donations would be possible - given a refined metal is worth roughly 55c and 18 weapons go into that, a single weapon is worth roughly 3c.
How could this be done?
Some plugin code could make such bots initiate trading requests to players. So a player could type !donate into chat and the player would receive a trading request to accept donations.
The other part of the equation is liquidating metal/items to cash. I don't really know of an efficient way to do this though one possibility might be to sell items into TF2WH, convert to Bitcoin via TF2WHX, then sell the Bitcoin to cash. This could all be (in theory) automated.
The incentive for someone to operate this whole donation bot+liquidation as a paid service is that the service operator could take a cut of the donations.
Someone build it! I'll be your first customer.