My suggestion would be setting a flat rate of 50 points per game and a cap on loyalty points with those who exceed the cap retaining their points and prioritisation for tickets (at the moment).
Combine this with a new ballot style process based on loyalty points tiers with a minimum tier level to ensure that everyone in the ballot has a proven loyalty / attendance record.
In the next 3 years the number of tickets for those currently on the very higher points who exceed the cap gets reduced drawing people back into the ballot process.
Something like (and I haven't worked out the split it's just an example):
Loyalty point maximum cap: 10k points
Loyalty points tier minimum entry 1k points
Above cap : 1st priority at tickets - as now
9-10k points : 30% of remaining tickets via ballot
8-9k points : 20% of remaining tickets via ballot
7-8k points : 15% of remaining tickets via ballot
..
..
Down to 1-2k points of remaining tickets via ballot.
As the ticket allocation is weighted then all of the ballots would be able to run simultaneously so you wouldn't have a drawn out process of waiting days on end to find out if you have a ticket.
Then a general sale for any remaining tickets to anyone who didn't qualify via the ballot giving those who didn't get a ticket a 2nd chance if any remain.
Finally and only if tickets remain after this do they go to open sale.
This way you get an equal spread of fans and more likely an equal spread of ages as well. Those with the track record have greater chance of a ticket, those with fewer points still get a chance albeit a lesser chance.
Anyone would have to have attended a minimum of 20 matches to start to qualify for the ballots. Those below the cap only get a chance if tickets go to open sale.
No solution is perfect but a weighted ballot process is likely the best alternative to the current points process, and it's better than an open ballot.
Once such a process is established it would soon become routine.