I would probably replace Butterfree for a Grass/Fire-type Pokémon, such as Growlithe, Flareon, or Vileplume. Although Nidoking is a strong Pokémon, I would also replace him OR Raichu for the type you did not replace Butterfree with. Although I do prefer Nidoking, Raichu and Butterfree, I tend to find that when you are elemntally oritented, you have more of a chance against strong teams and more of a chance of a critical hit. Finally, your Blastoise looks brilliant. The only thing I would change there is Bite. It is a strong move I like to use but I feel there are stronger attacks out there it could have. Your movesets look fine, apart from Pidgeot's Quick Attack; I recommend you replace that for a stronger move.
Other than that, I like your choice of Dragonite; on Pokemon FireRed, a Dratini is cheap from the Celadon Game Corner Prize Store; or you can catch a stronger Dratini whilst fishing with a Super Rod at the Fucshia Safari Zone, however the Dratini here are very rare. I, too, would use a Pidgeot for the essential fly but I guess you could also use your bike to travel cities; still, a Pidgeot is a strong Flying-type Pokemon I find essential in some of my teams.