I know there is :copen command which opens quickfix window but it doesn't immediately switch to it(till it open). How can I wait for it to be sure my next commands in script would be executed in quickfix?

I'm not seeing this problem. You shouldn't have to wait for anything--the next commands in your script should be executed in the quickfix window. Perhaps you could include an example of something that isn't working as you expect it to. I tried a experiment with the following three lines in a script: copen, set modifiable, put='abcde'. I then opened vim, sourced that script file, and observed the expected result that the quickfix window contained the line abcde.
– garyjohnDec 26 '17 at 19:28