Don't use grease. It will pick up all manner of grit to wear the chains. It will also plug the idler sprockets which will eliminate lubrication to the sprocket bearings.
Use the best quality chain you can find. Chain is not created equal, not by a long shot. Tension the chains correctly. Chain needs to be slightly loose rather than slightly tight, in most cases. Slightly tight will stretch even good new chain immediately. Too tight will also wear sprockets and bearings excessively. Most manufacturers recommendations are perfect. Trying to achieve that perfection generally leads to too tight. I have learned to err slightly to the loose side...
I have settled on heavy gear oil and an oiler can. It does pick up some contaminants, but after trying all the suggestions above and more, this method works the best for me and my balers over the years. The excess is quickly slung off, and what remains stays on pretty well. I oil the chains about every 4 hours when they are warm. The lube penetrates much better on warm chain. I try to oil and then take a few minute break before I continue to allow the lubricant to penetrate and set-up a little. The most important time to lube is at the end of a working period so the lube can penetrate and so the chains will not rust in between times. You will also be ready to go next time you hook up.
Some balers have "critical" chains which if allowed to fail can cause a lot of destruction to other components. Those chains need to be replaced regularly.
Used tractor hydraulic fluid makes decent chain oil. Used engine oil is not very good, as it is too thin, doesn't stick and simply doesn't lubricate for long at all. In just a few minutes the chains are dry.