For this achievement, I recommend Fernando in either the Siege or Payload game mode. Reasons being:
1. Fernando is a starter champion that is free for everyone.
2. He has a default Legendary card that is really good for this.
3. In Siege or Payload, the objective is to either push forward or defend, meaning you will always be facing the enemy head-on (outside of flanking) and they will be firing directly at you in most cases.
Fernando is a front-line character. His main deal is his shield, which is
if you haven't adjusted your controls at all. When you start the game, it will prompt you to select your Legendary card. There are three choices. Select the one that says "Aegis." It's is his default card, so everyone has access to it. Normally, your shield will only be out for a set period of time, but with the Aegis card, it will not go down until the enemies destroy it. Which is basically what you want, since the goal here is to shield damage
If they destroyed it, it means you just shielded a crapload of damage. The Aegis card also gives you a lowered cooldown for your shield of 8 seconds.
When the game starts, run directly to the objective and pull out your shield to shield you and your allies, rotating your direction if need be. Keep at this for the entirety of the game, mainly staying on the objective and attempting to block enemy shots and abilities. You might go 0-15, but gosh darnit, this is about shielding, not getting a nice KDA.
100,000 damage is not an insurmountable amount. When I did this, I had over 150,000 shielding on the scoreboard, so if you're doing your job, this will come naturally. It also pops mid-game whenever you hit 100,000, so you'll know if you did or did not get it before it gets to the end of the match.
Of course, there are plenty of other characters that shield and you can do this with. I just recommend Fernando because he is free, straightforward and has a great card for this. Most front lines have shielding abilities: