There isn't much to complain about for the poor fire types past gen 1 when as somebody said before me, the first game basically had a easy, normal, and hard mode based on which starter you pick with fire being the hard type, water normal, and grass being easy. In gen 2 the mixed it up with grass being the hard type, water staying normal, and fire being easy. Past gen 2, all fire starters learn moves which are super-effective against rock pokes pretty early.
As for the repeated use of rock type gyms, I guess because rock type pokemon aren't the hardiest types in the world if somebody can prepare for them. With their tendancy to have dirt poor special defence, weaknesses to some of the most common pokemon types, and an attraction to have the ground type as their secondary type, they can be taken out quite easily with 1 or 2 grass or water pokemon types. The only thing they have up their sleeve is the fossil pokes, unique pokemon like shuckle and magcargo (who still get destroyed by water types), and the rare steel typing where rock's other weakness, fighting comes in. And even after that, they still have steel and ground types to worry about.
Having a rock type gym latter in the gym give players to much time build their team up. With early rock type gyms, players don't have much time to catch many different types. With novice players who like to just run through skipping training and catching are in for a rude surprise especially if they picked a fire starter. Having a rock type gym can give a player a taste of whats the game is like with an easy victory if they can down the gym fast enough, and slows down speeders and makes them learn the valueable skills of catching and training.