I figured I should answer my own question in hopes that it will help someone else in the future.
So, how should one start a process with parameters when there is no form?
The short answer: Don't. Create a form.
The longer answer: Although creating a form for a process that will always be started programmatically might seem unnecessary, it turns out to be the easiest and cleanest solution that I've found. The jBPM designer even has a handy little icon that will create a default form for you based on the process parameters. The system appears to have primarily been designed for use by humans, hence the techniques for authenticating and starting a process programmatically seem clunky. However, doing so as described in the above links works well and doesn't require hacking a third-party library.