Change commerce price
Unfortunately using rules is the only option to dynamically alter a product's price in Commerce 1.x. From the 2.0 roadmap:


  In Commerce 2.x, we should ensure that our modules define robust internal APIs that are then used by forms, Rules actions, etc. as opposed to embedding functionality into these systems' related callbacks. Most notably, we should seek to make price manipulation and price component management much easier as we open up the sell price calculation process to direct manipulation in module code (as opposed to strictly using Rules) when sell price pre-calculation is disabled.


emphasis mine.