Edit: This suggestion has now been written up properly for Zwift Insider - https://zwiftinsider.com/matchmaking/
It’s a dog eat dog world. Certainly ain’t no room for cats.
The cat system is not broken, it simply cannot work. Arbitrarily grouping riders based on any sort of power profile is open to sandbagging, but also enforcing it in any way just causes more grief. Check out the ZRL - riders get DQ’d due to their power profile when they comes 25th, yet the riders that win are clearly stronger, just due to weight / pacing / sandbagging they avoid the DQs. For racing to work, there needs to be a motivation for all riders to do the best they can in any race. For progression to be attractive not avoided. Clearly there is also a human desire to have the chance to win, or podium, or at least be involved in the shakeup, and the current cat system means that you are rewarded for staying at the top of a given category rather than continuously trying to progress upwards.
Pretty much any other online multiplayer game uses a matchmaking system - the idea being that you compete against those that are a similar standard as yourself. As you perform well relevant to your peers, you progress up the rankings to face tougher opponents.
Zwift power has a rankings system that works on this basis. The details of this are available here (click FAQs) [https://www.zwiftpower.com/rankings.php] I am not saying this ranking system is perfect or is the one that should be used, but it already exists, and now that Zwift manages ZP makes sense as a starting point.
When a race is a created by an organiser, they can specify a field size. Let’s say they choose 50 as the field size. When you join a rankings race, there is only one sign up link - you simply join the race.
Lets say 240 people join the race. 2 mins before the banner drops, you are placed in one of 5 starting pens (240/50). The pens are split based on rankings - so the top pen has the top 5th of riders based on rankings, the 2nd pen has the 2nd 5th of riders, etc.
How you perform in the race relevant to the riders around you updates your rankings, with the goal to move up the rankings. As performance is based on final placing, there is no incentive whatsoever to do badly. Yes, riders may target races that suit their particular physical attributes and strengths, but there is nothing wrong with that.
Some days, you may be in a field where you are the strongest rider and have a good chance at winning the race, and other days you may be the lowest rank and get dropped early on. However doing your best in either of these scenarios is rewarding.
It may sound quite complex but it is really not. Zwift Power already does half of it, it just needs a matchmaking system baked in to the game.
I appreciate this will fall on deaf ears, but I like to get it out as it is my biggest issue with Zwift. This is how you get people addicted to the game and addicted to racing. Just look at COD or FIFA and how they tie players in to this exact type of experience.