I also used Avast for many years until a few weeks ago, and one of the reasons I got fed up was it hogging resources at boot. Did you disable it from starting when you reboot?
You can also edit an avast file to tell it to wait a certain amount of time (seconds determined by you) before grabbing for the network. It helped ease my situation at the time:
Delay Database Update for 3min At Boot
******************************
Edit C:\ProgramData\AVAST Software\Avast\avast5.ini.
avast5.ini -> look for [InetWD] section
Broadband connections, add these lines if not present (or edit AssumeAlwaysConnected=0 to AssumeAlwaysConnected=1)
[InetWD]
AssumeAlwaysConnected=1
AlwaysConnectedWaitSeconds=180
When complete save the changes, avast's self-defence module will ask for confirmation, etc. answer Yes. You can extend this duration if required. (You can change 180 to however many seconds you want.)
Also, AVAST runs what's called "Emergency Update" every so often which can take a long time and hog resources. Or if you have the program set to auto-upgrade the program itself (not just the av database) that can cause a lag... esp if you keep interrupting it and not letting it finish... it will keep trying at the next boot (which is true of any program, not just avast, unless you set them to never check for updates).
But again, AVs are tricky and when you think you have disabled them, they are actually starting at boot. You can go to admin -> services -> and look for the Avast entries, right-click -> properties -> click the STOP button, then set the value to DISABLED and click OK. Disable all of the Avast services (there are 3, I think, but not sure). Reboot.
Remember to go back to the admin -> services and re-enable the Avast svs to be automatic when you have finished the troubleshooting.
Also, if AVAST isn't the problem, reboot a few times and check the event logs each time, as any program can cause a delay in any particular boot sequence, but you are looking for something that is coming up EVERY time.