At my home track we do It like this;
Make the classes based on the cars we have, like Touring, GT, Endurance, F1 etc.
I have an excel-list with the cars, the class they belong to and a lap time, written down under race conditions. If there are too many cars that belongl for example in the touring catergory, I divide them in subclasses based on laptimes. At the moment we have about 100 cars, divided in 6 classes which can have their own sub classes. Like GT, I have GT1 for the fastest GT cars, till GT3 for the slowest. Every other week we race a different class, for a period of 12 months. So yes, some classes are raced twice, but It all depends on participation, during summer or holidays It happens that races are not held or do not count. In a 12 month period, last year we had 10 race nights that counted for the championship.
So for example, for touring I have 2 Scalextric Leons, A BMW WTCC, 3 Astra's, 3 Vectra's. When a racing night is scheduled for touring cars, I will pick the 6 cars that are closest in lap time. During the first half hour, people can choose between these cars. After that It is qualify (5 min.), race 1 (amount of laps depends, usually around 30-40), race 2 with same cars, but starting positions the other way around. Finish first race 1, start last race 2.
This method has proven to work last season. Besides lap limited races we have the occasional endurance race. Only thing I would change is to also give points for qualifying, as that proves to be a very exciting part of the race night.
We do use fuel. As the cars that are raced together are usually very close and same make or type, so I do not need to work with different fuel rates for different cars, I will only do that for long endurance races with cars that have a bigger difference in lap time.