Currently there are 3 ways to earn BP. You have Battle Test, Battle Maison, and Super Battle Maison. Which one will earn the most amount of Battle Points per hour (Assume that a well built team is being used for this)?
The Super Battle Maison battles are the best because of the least downtime, assuming you can somewhat consistently beat them up to and beyond round 20.
Doing the regular Battle Maison fights will require you to start over repeatedly, and half the fights will only earn you a single BP. In Super Battles you'll earn 2 points for the first 10 rounds then 1 extra BP per round after the next 10 rounds, up to a maximum of 7 after 51 rounds. Due to the Battle Maison characters quite literally cheating it can be hard to keep up that momentum though.
It does somewhat depend how far you can go; if the regular battles are easy but you die in the first 10 or so battles of Super Battle Maison, it's better to do regular battles just for the consistent earn and the 20 BP payout at the (relatively easy) Battle Chatelaine fight at round 20. 20 rounds of normal battle earn you 48 BP thanks to the 20 BP bonus, you'll only come out ahead in Super Battles after round 20, but after that it's a solidly better earn rate. However if you LOSE the 20th round in Normal Battles, you lose almost half your possible earn.
Battle institute is just...bad, unless there's some insane payout for doing perfectly somehow. I've found it pretty pointless myself, but I can't find the exact payouts in order to completely disprove it. I just know that winning all rounds handily still isn't quite enough for it to be faster than Super Battles in Battle Maison.