Meet the Battle Institute.
What this facility located on North Boulevard does is pits you against 5 trainers. You face all 5 trainers regardless if you win or lose, and then you get ranked out of 7 stars in a points system. Here are the ranks:
Beginning Rank | 0-999pts | 1 Star
Novice Rank | 1000-1999pts | 2 Stars
Normal Rank | 2000-2999pts | 3 Stars
Super Rank | 3000-3999pts | 4 Stars
Hyper Rank | 4000-4999pts | 5 Stars
Elite Rank | 5000-5999pts | 6 Stars
Master Rank | 6000+pts | 7 Stars
You can earn BP quite fast if you get consecutive Master Ranks. Here is the point breakdown:
1000 points per battle won
80 points per opposing Pokémon fainted
5 points per switch
1 point per super-effective attack
4 points per opposing attack that is rendered ineffective (either from type immunities, Levitate, or a status attack that the Pokémon is immune to due to its type)
2 points per opposing attack that is rendered not very effective
30 points if a battle was won with the opposing side taking at least one turn, 15 points if a battle was won without the opposing side taking a turn
-80 points per Pokémon fainted
-10 points per turn
-10 points per ineffective attack against the opponent (on the same basis as the above)
-2 points per resisted attack against the opponent
1 point per percent of HP remaining after each battle
A perfect game with 100% of HP remaining, all battles won, and all enemy Pokemon fainted gives you 7250 points in Double Battles without counting in move effectiveness and other small factors.
Now, you may be wondering how to mass BP from this. Well, you can use 4 Pokemon in the Double Battle mode, which opens up strategies like this and these. Abuse these strategies, get Master Ranks, and mass BP!