4 main ways to get depth, with minimal sacrifice from your pursuit of studs:
1. Play the waiver wire. Try to find this year's Terrelle Pryor, Cameron Brate, James White, etc. And, late in the season, try to find next year's. I do this all the time as I churn the bottom of my roster, and it's one of my main sources of depth.
2. Trade away mid-to-late round picks and mediocre prospects. Acquire stopgap vets like Woodhead & Wallace. Or, if your league includes vets in the rookie draft, use those mid-to-late round picks to draft vets (like Bilal Powell last year). When I notice that a lack of depth might be a problem for an otherwise strong roster, this is the approach that it's easiest to call on in my time of need.
3. Get throw-ins in your trades. See if they'll include someone like Fleener as a piece in your bigger deal. I do this less than the other options, since it does trade off more directly against finding studs (since there are other things to aim for when trying to get good value out of a trade).
4. Use your high-upside potential studs who haven't panned out (yet). If you keep going after potential studs like DeVante Parker or Ameer Abdullah, you'll often have a couple of them on your roster who are just providing adequate depth. This happens by default as a side effect of trying to add players who will become studs. "Aim for the moon; even if you miss you'll land among the stars" (that's how NASA does it).
You also could count as a fifth way: make trades that are lateral moves, where you trade one depth player for another (possibly as part of a larger deal). I'm hesitant to include this in the count since it isn't increasing your depth, just switching which players it consists of (though it can also rearrange your depth between positions, which is helpful if you're thin at one position and deep at another). But a fair number of the depth players on my roster did come through this sort of trade.
These can all be contrasted with the kinds of moves where you're getting depth by giving up studs (or potential studs): trading a stud for multiple solid players, trading a 1st round pick (or top prospect) for a solid player, trading away a risky / injury-prone / older stud for a safer solid midcareer player. I almost never make these sort of moves because acquiring studs is the priority.
There is also the fallback plug-and-play option of adding the best option available that week on the waiver wire and putting him straight into your lineup, but I rarely find that necessary.