I love the free-roaming aspect, but there needs to be some kind of mechanic that gyms and random trainers will be averaged level-wise based on your party or something to that effect. I haven't enjoyed back-tracking to areas and the battles are all just sweeps. So I guess what I am really saying is that going away from the linear style of play the games used to have (and thus the levels matching where your team should be naturally) and going to free-roaming means that needs to be thought about better. Maybe they could just have trainers refuse to fight you if your party level is too high, and maybe gyms would ask you to make a team within a certain level range before allowing you to challenge them.
I disagree. If Pokémon included level scaling that forces random Pokémon trainers on routes and gym leaders to use Pokémon that share the same levels as the Pokémon in your own party, the game would be even more linear than before. Similar to almost every RPG, a Pokémon playthrough is based upon self-improvement, where the player begins his or her adventure with a low level and gradually increases his or her level and fights stronger trainers as the player progresses through the game. If the game ever scaled the levels of the trainer's and gym leader's Pokémon to correspond with the player's party, then Pokémon would lose that RPG sense of self-improvement and progression. Doing so would threaten the identity of each trainer as well. For example, Youngsters are meant to be easy, young, and rookie trainers that should be easy to defeat and introduce newer players to the battle mechanics, whereas Ace Trainers are older trainers with stronger Pokémon and better AI.
With level scaling, the developers risk the possibility of Youngsters being almost as difficult as Ace Trainers because every team would be the same level. The same thing applies to gym leaders as well, as early gym leaders are meant to be easy with the similar purpose as the early-route trainer classes, and the final gym leaders are meant to be tougher. With the trainers and gym leaders being the same level, the game would actually be more linear because the gameplay wouldn't change. To prevent the game from being too easy, I would recommend either using a guide to determine the levels of the trainers and gym leaders beforehand and challenge them accordingly. This should be made easier based on the fact that trainers on routes no longer force you into a battle upon eye contact anymore, affording you some time to look up the trainers in your area and check their levels.
However, based upon my experiences playing Pokémon Violet, if you simply follow the routes in the manner you're "supposed to," such as by leaving the city that you defeated the gym in through a path to another route, the levels should always be on par with your team regardless. If you veer astray from the path, which is easy to do in a free roam game, you risk losing your place and could find yourself in any area where you're vastly over-leveled or under-leveled. Moreover, another method players can try is challenging gyms and trainers with different teams, which is what I prefer to do. In fact, I am playing Violet with three different teams, with one being my primary, secondary, and tertiary team. Being able to change your boxes on the fly no matter your location makes this extremely easy as well.
My primary team is my strongest team and is primarily used for the Victory Road storyline, but if I ever run into an area where I'm under-leveled, I would switch teams. My secondary team is a little weaker than my primary team and is mainly used to hunt titan Pokémon, but if I am in a location where the Pokémon are around the same level as this team, I would use them in that location. My tertiary team is weaker than my other two teams and I mainly use them for when I enter an area and/or gym where I am vastly under-leveled. Playing the game this way balances the game for me personally in my own way that grants me the freedom to use what I want, when I want, how I want, and have many different teams of my favorite Pokémon and use them all in important ways. I feel that this is the true freedom that Pokémon needed for years and simply would feel much drier and linear with level scaling.