It should be up to the coach who he plays and who he rests.
Well welcome to a league where money is in charge and not sport. People go to watch superstars and if they don't get it they're upset (which is only partially true). So teams get fined because NBA is a money machine, nothing more than that.
It's not a mistery that timeouts are often called by advertisements/sponsors and not by coaches.
(of course I agree with what you said)