My preferred fix is to have the Snitch be worth 1 point and allow the seeker on the team that is behind to function as a fourth chaser. That way the seeker is still the most important position, but the rest of the team needs to make sure they are ahead on points for long enough that the seeker can catch the snitch.
As for games ending in a reasonable amount of time, I would just enchant the snitch to become slower and larger as time goes by. It's more elegant than having two separate game end conditions and it preserves the idea that matches could, in theory, go on for a very long time. The downside is that you can't use the number of goals scored as a tiebreaker in tournaments, but if you really need a tiebreaker you could just use <playtime in lost matches> - <playtime in won matches> instead.
Anyway, next chapter is another one where Harry is being kinda of an ass again (I think chapters 7 and 8 are the point where a lot of people bail out), but I'm curious to hear what you think about the arc that starts after that. I think that arc marked the turning point where I really started to enjoy the story more and was able to get sucked into it.