Balancing your gamification design is one of the hardest things to do in my view. Somehow this misconception exists that just adding a few game mechanics will work like sprinkling magic game or engagement dust. You want to make it challenging enough to keep people on their toes and easy enough to have people start and try. When you are dealing with a variety of users with different skills there is benefit in splitting them into micro groups and leave options they can choose from.
The experience of flow is only one side of the balancing act, where providing the opportunity to grow is in an integral part. It doesn’t have to be linear but incremental increases with plateaus to take a breath and reflect on progress will help end-users. The other side of the balancing act is dealing with the game mechanics such as point systems and in-game rewards that help create this balanced feeling. All gamified systems will use experience points and other scoring mechanisms to keep track of progress of their users. How they publish this to the user may vary depending on the situation and the intent of the gamification design.
In learning related designs we often get push back on withdrawing points or introducing consequences, but the reality is we learn the most from our failures and mistakes. In life and in business they tend to have an impact either big or small. So making sure the consequences are fair and in proportion to the effort required to earn the original progress. Although failure or loss can be frustrating it is also what makes players try again, if they feel they can do better next time, if it was too hard from the start their willingness to try again may also decrease.
Your pilot test is crucial to check how your end-users experience your design. They will let you know if they feel like they are treated unfairly or not. When you have doubts whether the design really treats all your groups with equal challenge and opportunity always test for it specifically.