Depending on the player's wallet size, it may or may not be possible to defeat him while he is able to heal his units. In order to defeat a player like that, you'll need to A) engage him in combat when he is unable to heal his units with gold a.k.a. offline/sleeping/at work or B) Hit him with so much firepower at once his units are killed and unable to be healed.
If he is not a high command member, option A is a little easier to do. Study the newspaper, see what he builds and use the completion times to figure out when he must have started them. He absolutely HAD to be online at that time. See if you can distinguish some sort of pattern between that and times when he is fighting you/others and/or making adjustments to troop movements.
If he is a member of high command, this is a bit tougher since you can't rely on building completions - he'll have access to the build queue meaning he doesn't necessarily need to be online at the exact time the building starts.
For option B, you could also try to enlist the help of his neighbors. One of them probably has access to a weakly defended border. You could also work towards an air force and use blitz attacks (several waves of bombers spaced apart by seconds) to hit his troops so hard he will have a hard time repairing the damage before they are destroyed.
Is it fun to go against these types of players? In most cases, usually not. Does it increase the enjoyment of the game to take down a player like this, when you yourself do not use gold? Absolutely! If you are finding you have no chance, then A) do what you can to mess with him and make him spend more $$$, or B) convince others to attack him too and hopefully bring him down. You could also just say "oh well" and move on to another game - after all those kinds of players are fairly rare (even in your own experience it's 1 in 5, which is probably much higher than average for gold use on the scale you are mentioning and likely only that high due to the small sample size thus far). I agree with you that if the individual game is not fun, why play - but you should try to look at them on an instance by instance basis.