Some thoughts from a beginner on how to improve the racing categories through the use of seasons:
Cat D : 12 seasons per year starting on 1st of each month. at the end of each season the top 10% are promoted to Cat C.
Cat C: 6 seasons per year starting on 1st of alternate months: jan, mar, may, july, sept, nov. At the end of each season the top 10% are promoted to Cat B. the bottom 10% of active racers, and any inactives are demoted to cat D.
Cat B: 3 seasons per year starting on 1st of months: jan, may, sep. At the end of each season the top 10% are promoted to Cat A, the bottom 10% of active racers, and any inactives, are demoted to Cat C.
Cat A: 1 season per year starting on 1st jan. At the end of each season the top 10% are promoted to Cat A+, the bottom 10% of active racers, and any inactives, are demoted to cat B.
Cat A+: 1 season per year starting on 1st jan. At the end of each season the bottom 10% of active racers, and any inactives, are demoted to Cat A.
Initially start in current categories. Promotion/Demotion dependant on Zwiftpower race ranking points. Unable to earn ranking points if racing in a category below current category. Can earn points if racing up a category (or categories).
The above system would mean that you could only dominate cat D for a month and cat C for two months before being promoted to B. In the higher categories the seasons are longer and changing category happens more slowly.
You may want to adjust the race ranking points a bit, so that more prestigious races allow higher ranking than poorly attended events - see international gliding competition ranking for details.
The above approach means that if you race well you go up the categories, if you race badly you go down the categories. You can win in cat D for a month, but then you have to race in cat C.
Rory