This is a very real problem, and fixed DCs is one possible solution to it. Though, they do come with their own drawbacks - in defining the DC of an action, you necessarily limit the possibility space, as well as creating negative space. To unpack that a bit, the long lists of DCs in 3e discouraged a lot of 3e DMs from allowing actions that didn’t have DCs listed, very similarly to how the existence of attack powers in 4e discouraged a lot of 4e DMs from allowing players to improvise maneuvers in combat outside of their set Powers.
My preferred solution is to set DCs on a case by case basis, but tell the player the DC before making them commit to the action. So, if a player describes some sort of survival action, expecting it to be Easy or Medium based on their experience with action movies, but your military experience tells you would be Hard or Very Hard, telling the player “that will require a DC 20 Survival check” gives them the opportunity to say “oh, that’s harder than I expected. Can I try something else instead?” or to spend additional resources to shore up their chances (e.g. spending Heroic Inspiration, drinking a potion of Enhance Ability, etc.)
Some DMs are uncomfortable with that approach because a DC is highly specific metagame knowledge that, in their view, the character doesn’t have access to. In my view, the DC is an abstraction of the actual difficulty of the task, and telling it to the player (who needs to make the actual decision of what to do) helps close the information gap between them and the character (who needs to actually perform the task). The character doesn’t know the DC, because that’s not a thing in the fiction. But they do have experience in the world, and knowing the DC approximates, in an abstract way, the knowledge the character ought to have about the difficulty of the task in a world governed by the judgment of someone with your military experience.
For those who are still uncomfortable with the precision of the information a DC provides, potentially allowing the player to calculate their exact odds of success, I recommend telling them the difficulty in qualitative terms (Easy, Medium, Hard, Very Hard, etc.) and giving those categories ranges. So, for example, instead of Easy, Medium, and Hard always being 10, 15, and 20 respectively, Easy could cover a range from 8-12, Medium 13-17, and hard 18-22, etc. You could even introduce a small random element to setting the DC, for example making Easy 5+2d4, Medium 10+2d4, and Hard 15+2d4.
I'm working on an actual play right now sponsored by Green Ronin that uses their Adventure Game Engine, which has mechanics that pretty much mandate telling the player the DC (in AGE's case "Test Level" but it's the same concept) number for effectively any skill roll they try to make (and such roles are like 95% of the games mechanics). Granted, I tend to be fairly comfortable with play styles that are too game-ist for some, but revealing all the target numbers hurt immersion for this group way less that I maybe expected.