This suggestion is for the Facebook version of the game I have not seen this problem in the plarium version, there are a variety of ways I could think of to fix a certain problem.
Suggestion 1: Limit Sieges to 3 only per player.
Suggestion 2: Only allow Sieges of active players, players that haven't logged in within a certain amount of time causes the siege to end.
Suggestion 3: Eliminate raiding of inactive Castles, players that haven't logged in within a certain amount of time can't be raided.
This is a war game not a don't run a foul of our dozens of alliances and non aggression pacts nor is it a consolidate power to those playing the longest.
There are thousands if not tens of thousands of inactive level 40+ castles that can give 100k resources when raided with the push trick. A single player can siege 10, 20, 30 or whatever the limit is on sieges of these types of castles, if there are limits other players from a guild can siege more inactive castles. They are then used to ensure only said guild raids those castles, if a non guild member raids the castle not only do they get hit heavily by the entire league itself they suffer in other ways too. Thanks to large alliances and non-aggression pacts it also immediately gets the player booted from their own league, leaving even a high level player to deal with attacks from an entire league.
This has the effect of consolidating raid resources into just a handful of already powerful leagues/players, as well as stopping a large chunk of pvp. Preventing newer players from being able to Raid. I think limiting/eliminating the siege count or eliminating raid's of inactive players would force players into more pvp events and stop already powerful players/leagues from gaining unearned resources.
Thinking on it this might be easy to implement, players who return after a long time away get a period of protection. Simply activate that protection on players who have been away for x amount of time. If that's a week, 2 weeks, a month whatever is best for the game.