This is the system I'm using for hex crawling in the Wilderlands. It is primarily based on this Unearthed Arcana article, but it also draws inspiration from Adventures in Middle Earth and the Pathfinder Kingmaker CRPG.
A party venturing through the wilderness will have characters serving in the following roles:
Guide (survival):* Makes a survival check to direct the party to their destination. Failure indicates the party becomes lost, travelling in a random direction (1d6 roll for hex side) for their full day of movement. Success means they are on the proper course. A natural 20 means a shortcut is found and they are able to move an additional days worth of hexes. Rangers may automatically succeed on this roll in their home terrain, but must take this role in order to do so.
Scout (investigation and stealth): Uses investigation to see what's ahead of the group. If a random encounter has been rolled or a ruin, relic, or lair, is within the hex then a successful investigation roll reveals the encounter and the Scout may make a stealth roll to continue investigating. If they don't want to stealth, they may return to the party and inform them of what's ahead for proper planning.
Forager (survival): Uses a survival roll to gather food for up to 4 people. Additional characters must either have another forager or use rations. A failure on this roll provides no food. A natural 20 automatically feeds the whole party.
Guard (perception): Uses perception to avoid being ambushed by encountered creatures. If the Scout has failed their investigation roll, then the Guard must make a perception check. If that check is successful then the encounter is spotted while it is between the Scout in the party. If it is a failure the encounter is able to gain an attack on the party where everyone has the surprise condition.
*Guide is the only role that is required.
The order of operations is as follows: at the beginning of the day the guide makes a roll to see if the party is on course. For each hex they pass through, the DM determines if there is a thing in the hex or if a random encounter occurs. If there is an encounter of some sort, the DM asks the Scout to make an investigation check. If the Scout succeeds the DM describes the encounter. If the Scout fails the Guard must make a perception check. If the Guard succeeds the monsters are spotted between the Scout and the party. If the Guard fails then the monsters attack with surprise (assuming they're hostile).
Camping requires a survival roll to make camp (any role can do this) and the decision of whether or not to have a fire. Failing this roll adds a level of exhaustion to all characters. During colder months, no fire means that the characters accrue another level of exhaustion. The night is divided into three watches. Only those who take the first or last watch gain the benefit of a full long rest. If a fire is set there are three chances for an encounter (one for each watch) and if there is no fire then there is only one chance of an encounter (the watch it occurs during being randomly determined).