Every protection can be cracked some more easily that others. Coincidently, those that harder to crack are also most inconvenient for end users and sometimes too expensive. For example you can sell hardware dongle with your subscription.
What many companies settle for is providing a year of "free" updates. Your program evolves as you add new features but these are not available for those whose subscription time has ended. They will be able to use older versions eternally though.
Usually this is a good enough incentive to purchase. But have no doubt, if you program ever becomes even relatively widespread, it WILL BE cracked. That's the reality.