Grinding in single player boils down to providing more iterations of the game's core gameplay loop. So long as the gameplay remains compelling and novel (or the player obtains a process addiction) they will keep playing. This can be used not only to pace the release of new content to the player, but also to give them opportunities to experience their newfound content. There's little purpose to an item gained five minutes before the end of a game.
In multiplayer games there is a sharp segmentation between players that grind for 100+ hours and players that don't. A level 10 player fighting a level 50 player is not generally a contest, just a comparison of stats.
For the game to remain challenging and novel, I would introduce a couple design principles/features.
The first would be a cap for grinding. Whilst level 10 vs 20 is still a huge difference, 15 and 20 not guaranteed either way. This turns leveling up into a set of strategic decisions, meaning that two level 20 characters are comparing their strategy.
The second principle would be to use leveling up to differentiate characters, rather than to merely strengthen them. This would include adding abilities that are most useful in certain situations, or that offer synergy with other abilities. Additionally, passive bonuses that come with penalties also fit into this scheme. A level 20 character would consist of 20(initial build being one) opportunities to shape how a character becomes.
The third principle would be to introduce variability/entropy and prevent every player from immediately selecting the "flavor of the month". Some combinations of abilities will be more useful than others. Instead of giving the player five branches to invest in constantly (guaranteeing they will end up at a specific character), random elements (choose from these 3 abilities) would make approaching an exact set of abilities very, very difficult. This would allow a player with 300 hours to create multiple level 20 characters and then select their best to compete with. Such a character would have an advantage over first-time level 20 characters, but either could conceivably win in a fight together depending on how they were played.
The last (and probably most controversial) principle would be that of loss. Permadeath is the most extreme example (which would increase the stakes for PVP intensely), but reduction of experience, complete loss inventory, or even just a cooldown period for that specific character to respawn would do the job. This would further prevent characters from becoming "perfect" and staying that way indefinitely.
So yes, my answer to skill VS grind is imperfection and lack of magnitude/permanence in grinding.