Something I started a few campaigns ago that has worked well for me was to make my random encounter tables weighted toward certain results. There are several ways you can do this. You can do a d100 table and make certain outcomes more likely and others less likely. The ancient dragon only comes up when you roll 1-10 but the pack of goblins comes up when you roll between 10 and 50. The way I do it is to put the encounters into a 2D6 table. Here are the probabilities for any particular die roll to come up and the type of encounter I try to assign to them
2 is 2.78 percent = Most Dangerous fatality almost certain- potential total party kill
3 is 5.56 percent = Very Dangerous fatality likely
4 is 8.33 percent = Dangerous, possible fatalities
5 is 11.11 percent = Dangerous, possible fatalities
6 is 13.89 percent= Dangerous, possible fatalities
7 is 16.67 percent = Hazardous, fatality unlikely
8 is 13.89 percent = Potentially Hazardous
9 is 11.11 percent = Potentially Beneficial
10 is 8.33 percent = Probably Beneficial
11 is 5.56 percent = Likely Beneficial
12 is 2.78 percent = Most Beneficial
Frequently I make another sub table and I will structure so that when I roll a one or two on the subtable someone in the party is going to have a really bad day.
You will note that I have beneficial encounters. The characters will have an encounter which will produce something useful. The beneficial thing could be information, an ally, treasure, a brief side quest that is easy to complete and has a reward that is out sized for the amount of threat involved. I started putting in potentially good results because I think the random encounter that is mostly only resulting in monsters or other hostiles causes me to skip them sometimes when the party is beat up and in a bad way. Sometimes you get lucky. I’ll do nested subtables on this end of the table as well. Roll a 12 on the subtable and you get a hefty unguarded treasure. In hundreds of game sessions using this technique, it’s only come up that way once.
The most important bit of the random encounters is that I use them to establish what exists in an area. In this bit of woods, there are winter wolves, mercenaries collecting taxes for the barron, bandits looking to rob the barron’s tax collectors, merchants and pilgrims. You can double dip here and give your players information in addition to a threat or a benefit. They get to find out that this is a road that leads to a mountain where a famous oracle tells people their future in addition to a free meal from some pilgrims. The scouts you just killed have a bloody bit of parchment with an important message to the king about an impending invasion. I think it gives the campaign a little verisimilitude. We all have had interesting encounters in life. If you use public transit, you’ve definitely had an encounter with the strange, the unusual or perhaps the dangerous. Your random encounter tables should reflect that bit of life as well.