Trainers will only begin calling the player for rematches once the player has collected seven Badges and defeated Team Rocket at the Radio Tower in Goldenrod City.
Additionally to further power up the Trainer's team in two additional phases, entering the Hall of Fame and later collecting all 16 Badges are the necessary requirements for these power-ups as long as each incarnation of that Trainers' team is fought at least once.
source
The fastest way to defeat Lance and Blue is to use a small team with only 1 to 3 Pokemon. This way, each Pokemon will get more experience and reach higher levels. If you already have more Pokemon and don't know which ones to drop, this thread might help.