No, it is not best practice to shrink the database.
you said - everyday before loading table gets truncate -
that mean after truncation and data is being inserted again - which requires room for the data - so, why are you shrinking the database
in first place??
How much space are going to reclaim by shrinking. There are tons of articles of web - that advice not to do shrink.
If this is a process you are planning to set up on every day basis - do not worry on it- please do not do this set up
even if it is one time deal, since are loadin the data backup again, it is not worth for you to do shrink