I'm a linux-user, and don't know, how you handle your MacOsX - even don't know macOsX (yes, heard something about it, but never used it).
I only wanted to be sure.
I don't run a GUI every time I start my pc-linux - therefore a 'autostart-folder' wouldn't be a solution to me.
But I usually login on more than one console - so answer No.1 wouldn't fit to me.
If your program doesn't need a GUI you may start it in different ways than if not.
On linux you may start every program on the console, but few need the X-windowing-system to be up.
Let me say in other words: if you click a button on a desktop, a command is executed, and this command could be given by hand too. But some will not work in 'true-console mode' (no X running) - but I don't know if there is a 'true console mode' [(off topic

typed: mood - which is true in some way too

too much listening to Norah Jones I guess]
for macOsX.
Given your problem on linux, I would solve the problem with the bootup-scripts in /etc/init.d, /etc/rcX.d - but do they exist on Mac?