How can I make an application open at startup, without automatically opening a window?
Try System Preferences > Users and Groups > Login Items and press the little + sign to add your application.

To hide an application on startup, IIRC you can unselect the "Show on Startup" checkbox.