Typically, at the start of a game you are presented with the game difficulty menu, as above. Players should choose the level according to their experience. The problem with this is that the player really has no idea how easy the "Novice" level really is. I know some games where the easy level is actually quite challenging (it's easy for the game developers, but only because they understand how the AI works). For this reason, a lot of players always choose the easiest level, just to be on the safe side, but then they run the risk of a boring game, because it's not challenging enough.
I decided to solve this problem by having no menu at all. Instead, the game automatically adjusts difficulty based on certain statistics. I found out afterwards, that in fact a lot of games do this already (https://en.wikipedia.org/wiki/Dynamic_game_difficulty_balancing). However, I treat the combat difficulty separate to resource management difficulty.
I rate the players proficiency in battle according to a few statistics. I consider a player to be inexperienced if their soldiers are not taking cover and if they aren't getting interrupts. Difficulty mainly affects how the AI behaves. For a player with a high difficulty level more enemy combatants will be smarter - they will take better cover, be more alert and try to flank more often.
In Merc Tactics the difficulty level (score) is displayed when the inventory screen is open. This is a number between 0 and 10.
I still haven't implemented the resource management difficulty yet. This parameter is based on how well the player spends his money. I.e. a player that wastes money repairing weak weapons gets a lower rating.
The Dynamic Difficulty feature is implemented in the latest 0.6 Demo.