If their teeth are okay (really okay, after more
than a cursory examination) and they're not wormy, then build up to as
much beetpulp as they can eat in a reasonable period of time
(before it goes bad in the heat). And as much good-quality grass hay as
they'll eat. Wouldn't hurt to throw in whole flaxseed as well.
Ideally, feed them three times daily -- though that's not possible for most of
us.
I tried corn oil, for months. It never gave
him the runs, and we built up to a total of one pint per day, but it did nothing
for him. Ditto with dry prilled vegetable fat, Buckeye's Ultimate
Finish, etc.
Getting my too-skinny gelding's teeth done by
a vet who is interested in dental care using sedation and full-mouth speculum
(rather than a vet who views it as a PITA, or an equine dentist who
can't sedate), was the critical piece in helping my skinny gelding gain
weight. Lots of grass and/or grass hay, lots of beetpulp, whole flaxseed
(one cup, 2x daily), and a 10% fat-10% protein feed. Horse was not
wormy. But he had the beginnings of a wavemouth (despite regular work by
an equine dentist) and his workload had been increased.