First of all, login is distinct from startup. This answer assumes you mean login, as you apparently refer to the ability to start programs as configured in System Preferences ยป Users & Groups.
Run Automator scripts using the command line utility automator, and AppleScripts using osascript. Their man pages explain the usage in detail.
You can set a login hook, but it is rather outdated and deprecated in favor of launchd.
You can create launchd jobs by placing XML configuration files in your ~/Library/Launch Agents directory. This site contains quite a few rather minimal examples, and you can view e.g. /System/Library/Launch Agents for examples of system-provided launchd jobs. You need the RunAtLoad directive for launchd.
You still can save your AppleScripts and Automator scripts as applications, and run them as such. To hide them from the Dock, edit their Contents/Info.plist file and add an LSUIElement directive as described e.g. here. This will hide its Dock icon and menu.