How to execute the code at certain time without relying on Cron
Running cron every minute is perfectly acceptable. But if you really want a different solution you could (for example) create a Drush command to do what you want and then call that every minute with something like Jenkins or RunDeck. If you really need this command to run at the exact times users specify and only at those times, then you could write code to publish out the time (and other contextually relevant info) to some external system which is constantly running with some Daemon. 

This solution will work but it is:


a) hard because there is a lot of custom work to do
b) tricky because you have to worry about publishing, but you also have to worry about updates and deletes in case your users ever make changes to the time or the contextually relevant data
c) unnecessary since frequent cron runs sounds like it can solve your problem.