The best way to approach this is: DO NOT CENTER THE GAME AROUND COMBAT!
Experience points, talents, skills, etc. should be a transparent result of natural character progression. As you experience events and learn things, you become a different person and develop certain aspects of your intellect and body. This doesn't mean that Geralt, or any RPG character, has to become an unstoppable killing machine by the end of the game.
The world of the Witcher is gritty and cold. Monsters are tough, people are bastards and swords are sharp. Geralt actually has many skills, and he usually relies on his wit, knowledge and sarcasm more than on his sword. Combat could remain difficult for the entire game without even having to "level up" monsters (which they won't) if everything is properly designed. In any case, Geralt is a veteran witcher. Why would he suddenly become a god-like warrior in a matter of weeks or whatever amount of time passes in TW3? ›››
Now, to answer the OP.
I think the short answer is that you design the games with what I usually call "static" people/creatures and "reactive" ones.
" ones are those who do not change much, they are what they are (ranging from easy to extremely hard) and have their defined habitats/areas on witch Geralt can enter (Geralt can search for the lonely drowner that has been harassing the woman washing clothes by the river or/and he can travel to the island where the Violent and very dangerous Ice-Giant lives).
" ones are those who are introduced as a reaction to the protagonists (in this case Geralts)actions and their effects on the world. Lets say Geralt steals something from a crypt, and by doing so, an "Ancient Evil" awakes and enters this world for revenge (yeah, just an example). Another example is Geralt pissing some organisation or powerful person of, so a highly trained assassin from "a far away land" is hired in an attempt to take the meddling Witcher out. These types of foes are generally very
challenging, but must be triggered.