No positive best way yet...
but finding a pokemon that is almost full on the CP and fully evolving them seems to be the cheapest (stardust/candy) way. Evolve first, since it takes more candy, and then train them up to max CP. Since the ones that are closer to being full on the CP bar are almost...
I think you nailed the biggest point for me. We won by 20 and it still feels like we got room for improvement. I hope we continue to fly under the radar and close this series ASAP.