First of all, i don't know what pokemon game u've been playing in which u gain from battling other players, if battling itself is pointless to you, then you're missing out on the whole point of pokemon battles. They are supposed to be the gain, which is having fun, they arent a mean to gain other things.
However, there is a ladder (and ranked one in the future) and tournaments that encourage players to PVP for "rank 1" or prizes (for tournaments). Killing wild pokemons to gain exp and money has always been the main aspect of grinding in pokemon. it's been that way for around 20 years. You defeat wild pokes, and in return u get money and exp.
And yes, it can be exploited very easily, if implemented in battles, if it's worth it, players can take turns in helping each other, if it's not worth it they just grind.
Wages (2 players putting money and the winner takes all) is a legitimate idea that i can see be implemented, but all it does is move money from one account to another.
this has got to be a joke. why doesnt it make sense? it's been that way for ~20 years. And it's the main way players can get any money in the first place. Why do i need to wait for other players to want to battle me for me to gain money? what if i dont feel like battling or people simply dont battle me on purpose?
getting money from wilds is pretty much the only way to get money at all in this game, no, not selling pokes because the money used to pay for them is from grinding. This whole suggestion is pretty much extremely counter productive except the wager part (which can also be abused to "steal" from newer players who dont understand how wagers work).