>>13292503NPCs do make mention of there being "prize money" for pokemon battles, so a battle is pretty much just a bet. 1400 pokedollars says I can beat you, etc.
As for attacking trainers, that's the reason I figured moves with 100% accuracy never miss barring other circumstance. The pokemon aren't trying to dodge, as they're defending you. Just a little headcanon, though.