Is it possible to schedule some queries not for specific times but to run when sql server is not busy?
Is there any way to calculate the business of the sql server?
yes you can.
You can create a job with the query or procedure you want to run.
On Schedule you can set it to run Whenever the CPU becomes idle.
An Idle condition is defined at the SQL Agent properties, Advanced
The select it in the schedule type for the job as Rafael said in his comment