There's several things you could do, assuming you don't mind the resources involved.
ESB
An Enterprise Service Bus application is something you (typically) install inside your network, and it acts as a proxy to transform data from one format to another. For example, we use Neuron ESB (note: this is not a product endorsement, so please do research before selecting a product) to transform requests to a local endpoint to a salesforce.com endpoint. It generally works like this: the external program makes a normal call to the ESB endpoint, the ESB either authenticates or reuses an existing token, proxies the call forward to salesforce.com, gets the response back, and transparently passes that back to the original caller. There's probably some web-based services that can do this for you, as well.
Costs: Licensing, Hardware
Public REST
You can set up a Site, configure the guest user profile to allow access to certain classes (of the @RestResource variety), and then call that endpoint through the public URL. You can, of course, introduce your own custom security, but be aware that you're possibly circumventing normal security measures, so this does have a potential drawback. Consider this option carefully, because if anyone discovers the endpoint, they could potentially post false data.
Costs: Potential Security Risks
Internal Proxy
You can roll your own proxy, much like a ESB, probably in about fifty lines of code if you use something like Node.JS. While I haven't specifically tried this, I would imagine that any developer with reasonable experience and a bit of Googling should be able to set up something up. I'd probably use the web-server OAuth flow in my code, so there'd be an initial one-time set-up cost to get a refresh token, and then your NodeJS proxy can repeatedly refresh as often as it wants until the refresh token is revoked (potentially never if configured correctly). Using refresh tokens even survives password reset/changes and user name changes, so the upfront initial investment in a refresh token can save time down the road. Remember to build in some sort of notification system in case the refresh token goes away.
Costs: Development, Hardware