I wanted to share with the community one idea that I came up with recently that could add a bit more decision-making and fun to the game. The concept is called "Prestige". I got the term from other video games that have a similar concept, but it's helped out with those few students who just seem to be leveling up too quickly.
When a character reaches level 10, they can continue leveling to unlock the gear beyond 10, or they can "prestige" their character. If they choose the latter, their character is reset to level 1 with 0 XP and 0 GP, but they get to keep their skills, their gear, and their pets. They also earn a " *1* " (with the number in between the asterisks representing their prestige level) added to their "Student [Last] Name", which puts them at the top of the roster. Finally, where all characters typically earn 4 AP and 1 HP daily, these characters earn the same, plus 10 GP and 15 XP daily that I manually add through a preset (since there's no automatic function for XP and GP, and even then there'd be no way to apply it to some students only).
The daily bonus of GP is a great incentive because our classroom has a "Classcraft Shop" where students can use their in-game gold to buy real-life rewards, such as a Delayed Homework Pass or an Open Notes Quiz.
I'm thinking of ways to refine the idea, but my kids thought it was a great idea when I explained it to them, and now nobody seems to be worried about "max-ing" out before the year's over.
Feel free to share your constructive criticism or ideas.