I have been thinking about this a bit tonight, and have come up with a couple of ideas.
To expand on the 'points based on team composition' I came up with earlier, what about doing somthing simple like 2 points for a 3rd stage Pokemon, 3 points for a 2nd stage Pokemon, and 4 points for a 1st stage or one that doesn't evolve. And then, you double the points that Pokemon is worth if they Mega Evolve it during the battle (3rd stage then getting 4 points, 2nd stage getting 6 points, 1st stage getting 8 points).
Another idea would be to make up different packs of cards or pins or somthing to give to each trainer, with 6 different Pokemon in each. Then they have to find diffent trainers and either trade or battle for the ones they need to complete an evolutionary chain. Somthing like Blue Pack A would have a Totodile, a Pidgey, a Pupitar, a Haunter, a Golem and a Vileplume, while Red pack A would have a Croconaw, a Pidgeoto, a Tyrannitar, a Gengar, a Geodude and an Oddish. Once they complete a set, they can turn it in to a Leader or a centrally located Organizer or whoever, and get a raffel ticket(s) in return. You could even use a rule that each trade or battle for a card has to go 1:1, so that even if a player loses they still have 6 cards, to keep more competitive players from steamrolling the less competitive. You could also give the gym leaders a set, and then have random leaders be 'it' for the day, and only be allowed to swap cards on the day they are it.