Root is only required if you are installing a system app within the confines of the Android OS.
If you can flash your own rom, you can bypass any restrictions that the OS has, because you are able to do anything you want with a custom bootloader before the OS has a chance to load and restrict things.
If you are creating a custom rom (off-topic for this site), you can edit the rom on a desktop and flash it to the phone.
You could simply flash a file using a custom recovery (such as TWRP or ClockWorkMod).
If you are on a stock phone with a locked bootloader, you could always root your phone temporarily, remount system as read-write, add the application, then remove root.
As far as updates go, as long as the application in the system directory is signed by your key, you should be able to update it (root not required). You'll need a way to get updates out, though. You could post in the Google Play Store, use a 3rd party store (such as Amazon App Store or F-Droid), or have the user download the app and side-load it. If you also wrote the app in question, you could probably program a way to self-update as well (also off-topic for this site).