1. dragonite is a great hm slave, unfortunately too hard to get. I usually just use a farefetch for cut/fly, don't bother with flash/have a dedicated pokemon for the few times i use it, and then just put surf on my water pokemon.
2.I beat firered with a overleveled charizard before, but it can be hard. (personally ran out of healing items at champion so I had to try and beat the entire champion team with a yellow health charizard at lvl67. used sunny day and the single xspecial i had with overheat to kill blastoise and had to really on rhydon missing a single move to 2 shot him. got ko'ed by arcanine extremespeed though. by my charizard was only lvl67 cause i expshared another, so if you solo him you'll probably be lvl 70-something and can just use overheat or sunny day to kill blastoise.