The event should be fun, and I definitely could stand to catch a few Gastly, as they are pretty uncommon where I am. Better yet, the event is quite the stealth xp boost, thanks to how accumulating more candy will make mass evolving even easier.
Naturally, the effective xp bonus will be biggest for the Pidgey, Weedle, and Caterpie families, which already dominate in terms of xp, so I'll use them as my example. Note that for my xp math, I assume no throw bonus on any catch (e.g. flat 100 xp per Pokemon), and a lucky egg boosted 1000 xp per evolve, since by far the most efficient use of lucky eggs is to evolve as much as you can in the 30 minutes after you use one, and to only evolve things when you have the egg bonus active.
Normal state of the world (no candy bonus):
catch 14 pidgey -> 42 candy
Evolve 3 -> 3 pidgeotto, 11 pidgey, 42 - 36 + 3 = 9 candy
transfer 3 pidgeotto + 9 pidgey -> 2 pidgey, 9 + 12 = 21 candy
evolve 1 -> 1 pidgey, 1 pidgeotto, 21 - 12 + 1 = 10 candy
transfer pidgeotto -> 1 pidgey, 11 candy
evolve pidgey -> 1 pidgeotto, 11 - 12 + 1 = 0 candy (assuming you had an extra candy from earlier to "borrow" and then immediately repay)
Net result: 14 pidgeys becomes 5 evolves + 1 leftover pidgeotto. And the final pidgeotto can itself be transferred for a candy if you like.
XP total = (14 * 100) + 5(2 * 500) = 6400.
XP per pidgey = 6400 / 14 = 457. Not bad!
--
Halloween candy bonus in effect:
catch 14 pidgey -> 84 candy
evolve 7 -> 7 pidgeotto, 7 pidgey, 84 - 84 + 7 = 7 candy
transfer 7 pidgeotto + 4 pidgey -> 3 pidgey, 7 + 11*2 = 29 candy
evolve 2 -> 1 pidgey, 2 pidgeotto, 29 - 24 + 2 = 7 candy
transfer 2 pidgeotto ->1 pidgey, 7 + 2*2 = 11 candy
evolve pidgey -> 1 pidgeotto, 11 - 12 + 1 = 0 candy (assuming you had an extra candy from earlier to "borrow" and then immediately repay)
Net result: 14 pidgeys becomes 10 evolves + 1 leftover pidgeotto. And the final pidgeotto can itself be transferred for a (bonus) 2 candy if you like.
XP total = (14 * 100) + 10(2 * 500) = 11,400
XP per pidgey = 11,400 / 14 = 814. Nice!
So if you want some fast exp this weekend, catching and transfering pidgeys will yield an extra big payoff.
--
More generally, though in one sense the game is unbalanced, in another, it really has little practical effect. True, people on the top team in an area can easily get lots of coins each day, while those in a less popular team may be stuck grinding along for 10. But in the end, gym success means very little towards advancement. Besides being able to buy enough lucky eggs for evolution orgies, and perhaps buy a storage upgrade to be able to store enough Pokemon to take full advantage of 30 minutes of frantic evolution, the shop items really are luxuries. Incubators are nice and all, but unless you are going absolutely nuts on them, their xp impact is low. Being on Team Instinct, I hardly ever receive more than 10 coins a day, and have NEVER received more than 20. But I'm doing just fine. I've been able to expand my item and pokemon storage, and have never had trouble affording a lucky egg when it's been time to evolve. Sure, I'm a touch jealous of those people pulling in a stable 40 and 50 coins a day, and I have to ignore fully stocked gyms that are too powerful for me, but this is fine. Relative to the time I play, my advancement isn't that much slower than someone on a more popular team with several Pokemon encased in "safe" gyms. So gym battling, training, coin rewards, etc. seem to me to be something of a red herring, and not worth getting too angry about.