There are 386 Pokémon in FireRed's Pokédex. Only 380 are needed to get the certificate from the Game Freak employee in Celadon City: the ones that can be missed are Mew, Ho-Oh, Lugia, Celebi, Jirachi, and Deoxys. Ho-Oh and Lugia can be obtained from Colosseum and XD, respectively, but the others cannot without the use of events. This page focuses on getting the 380 Pokémon that aren't Mew, Ho-Oh, Lugia, Celebi, Jirachi, and Deoxys.
In order to complete the Pokédex in Pokémon FireRed, you will need access to at minimum a copy of Pokémon LeafGreen, XD, and Emerald.
The following version-exclusive Pokémon have to be traded from another game:
One of Ruby, Sapphire, and Emerald is going to be required to get most Hoenn Pokédex Pokémon. Emerald was chosen because it has access to both Groudon and Kyogre, as well as Latias and Latios. The following list contains all Hoenn Pokédex Pokémon that are not in Emerald or FireRed, and which game they can be obtained in.
Except for Ho-Oh and Lugia, all Johto Pokémon can be obtained between FireRed, LeafGreen, and Emerald. Espeon and Umbreon will need to be obtained by trading an Eevee to Emerald to evolve, or trading from Colosseum or XD.
Several Pokémon are mutually exclusive, meaning that if you get one species, you cannot get at least one other species. The list of mutually exclusive species is below.
You will need access to three FireRed or LeafGreen save files to get all three starters, and three Ruby, Sapphire, and/or Emerald save files to get all three Hoenn starters. If you do not have access to Colosseum, you will also need the three FireRed and LeafGreen save files to get all three Legendary Beasts.
Twelve Pokémon evolve by trading: Alakazam, Machamp, Golem, Gengar, Politoed, Slowking, Kingdra, Steelix, Scizor, Porygon2, Huntail, and Gorebyss. The easiest way to get data for them is to trade them to another game and immediately trade the newly-evolved Pokémon back.
You will need two King's Rocks, one Dragon Scale, two Metal Coats, one Up-Grade, one Deepseatooth, and one Deepseascale to evolve Politoed, Slowking, Kingdra, Steelix, Scizor, Porygon2, Huntail, and Gorebyss. The player can only choose one of the Deepseatooth and Deepseascale per Ruby, Sapphire, or Emerald save file, meaning that you will need at least two save files to collect both items.