Essentially, **it comes down to the amount of damage your Pikachu is doing, relative to the amount of HP it has**. As mentioned in the comments, Volt Tackle will always take away health equivalent to a third of the total damage inflicted by the attack. If your Pikachu does a large amount of damage -- especially if it is attacking opponents with a large amount of HP -- then it will feel like Volt Tackle does a lot of recoil damage. Similarly, if your Pikachu has a low HP stat, then it will feel like it is losing more HP, when in fact it is not -- that amount it loses is just a greater percentage of its total health than it would be if its HP was higher.

Case in point, you mentioned that your Pikachu's HP stat at level 100 is 204. This would makes sense with the high percentage of HP you say your Pikachu is losing while using Volt Tackle. Though Pikachu as a Pokemon has a very poor HP stat to begin with, yours in particular has a comparatively low HP stat, sitting on the lower end of Pikachu's possible HP range of 180 to 274. Now think of this practically: if your Pikachu is attacking other high level Pokemon (who, chances are, will have a much better HP stat), **one third of the damage inflicted on them is going to look like a much greater fraction on your own Pikachu**.

I'll try to show what this looks like in battle. For argument's sake, we'll assume your Pikachu has its maximum possible Attack stat and is facing a competitively-built Lapras. If it used Volt Tackle, this would happen:

252+ Atk Light Ball Pikachu Volt Tackle vs. 120 HP / 0 Def Lapras: 602-710 (139.6 - 164.7%) -- guaranteed OHKO

As you can see, Lapras would be cleanly knocked out, 100% of its HP gone. So obviously Pikachu is going to take a considerable amount of recoil damage. The HP stat of the Lapras Pikachu attacked in this case is very high; Lapras as a species, in contrast with Pikachu, has a very good base HP stat, and the one in this example also has 120 EVs invested in the stat. This brings Lapras' total HP to 431 (remember to compare this to your Pikachu's 204). So if Pikachu cleanly knocked out Lapras dealing all 431 points of damage, then it will be taking 144 points of recoil damage, which is one third or **33% of Lapras' total HP. But to your Pikachu, 144 points is much much more -- that's about 71% of its total health** of 204. Does this make sense?

Long story short, **Pikachu's HP stat is really bad, which makes it difficult for it to go throwing around Volt Tackle without paying massive dividends on its own HP stat**. As for why Red's Pikachu does not take as much damage, there's a strong possibility that its own HP stat and that of the Pokemon you were using against it aren't as polarised as they were in the example I gave above. Since Red is encountered late in the game and I'd say is intended to be a challenge, there's a good chance his Pikachu has good IVs and maybe even some EVs invested in its HP stat, which would help decrease the relative percentage of its health that Volt Tackle takes away. What Pokemon were you using against his Pikachu, and what was its HP stat? Remember that his Pikachu loses one third of the damage it dealt to your Pokemon with each Volt Tackle, and that at level 70, its HP stat could be as high as 194 with maximum IVs and EVs. Basically, it's a bunch of numbers and how good Pikachu's HP stat is compared to the Pokemon it used the recoil move on.

As for how you can resolve your problem, be reminded that **there's only so much you can do as Pikachu's low base 35 HP stat greatly limits its ability to tank recoil damage**. If you want your Pikachu to take recoil as best it can, you should EV train it in HP, so that it takes less damage. To use the same example as above with Lapras, if your Pikachu had the maximum HP for its species of 274, 144 points of recoil damage would be about 53% of its health, by contrast to 71% as mentioned above. Obviously this would mean sacrificing its Attack and Speed that you've indicated you have trained it in. Also note that if your Pikachu's HP IVs aren't good, its maximum potential HP is limited. Simply knowing that its HP stat is 204 means it definitely doesn't have 31 HP IVs (which would bring its HP to at least 211 regardless of EVs), so for starters it definitely won't reach the maximum of 274 unless you use a Bottle Cap on it.

I hope this helped you with your problem. Unfortunately Pikachu isn't a very good user of recoil moves due to its bad HP stat in general, so your problem is pretty much faced by every Pikachu user there is, with varying severity as determined by its IVs and EVs. If you want to play around with damage calculations like I did in this post, check out this damage calculator. I used it to get the exact numbers and stats in this post.