The reason why you have high ms and lag spikes (e.g. going from a stable 30 straight upto 500) is because there is packet loss in your connection. Wi-Fi causes this to happen because the packets which are being sent to your network card are not being acknowledged or received. There are many causes to this problem such as thick walls in your house or you having a bad network card in your machine.
Bandwidth usage by other devices
Firewall not allowing League through
Automatic Updates on your machine
I have added a video link below to show you that I have achieved a stable latency/ms of 23 and below from using the techniques I will explain below.
Stable Latency/ms on League of Legends
Bandwidth Usage by other devices
You may have additional devices connected to the internet at home so try to turn the wifi off on all those unused devices such as mobile phones and tablets and this should help reduce latency/ms and lag. This has helped me reduce my latency because my phone was updating apps constantly which was using a lot of the bandwidth.
Turn off Wi-Fi on all other devices which are not in use
Windows Firewall is always checking all the packets sent and received on your computer. It may be blocking some packets from League of Legends from coming through which is causing the lag spikes on League. To fix this issue go to "Windows Firewall with Advanced Security" and go to "Inbound Rules" and find "lol.launcher". Once you have found "lol.launcher" click on all of them and enable rule. This will allow the packets from League to move freely in and out the network.
Another way to add League of Legends as an allowed app is to go to "Windows Firewall" in control panel and on the left select "Allow an app or feature through Windows Firewall" and look for league of legends and tick the box. League of Legends should show as "lol.launcher".
Add lol.launcher to allowed programs in firewall
Wifi is very unstable and does not always transfer the packets correctly which you guessed it means lag spikes. The best solution for me was to switch to an ethernet(wired) connection. This made my latency/ms go from the 80ms-100ms with spikes to a constant 20ms with no spikes at all. If your hub is in another room and you can't use wired try using powerline adapters. Powerline adapters allow you to mimic an ethernet connection by using the electric (copper) wires in your walls so there is no need to route a long cable between rooms.
Switch to ethernet or move closer to router
Automatic updates in the Background
The worst thing is finding out that applications are being updated in the background whilst you are playing in your promos to Diamond 1. Go to each and every application and turn off automatic updates in the settings of that application. You can see all the applications using your internet by going to Task manager, clicking performance, selecting Resource Monitor then clicking Network. This will show you all the programs and you can select which ones to end.
Turn off automatic updates in all applications/programs where it is enabled
Conclusion: Testing for Packet loss and RTD time
Test your packet loss and RTD time before and after by pinging a site and in this case i'll use euw.leagueoflegends.com.Run this command on CMD:
Ping euw.leagueoflegends.com -t
As you can see I have 0% packet loss because I am connected using ethernet. Run the same command I typed it and check what your packet loss and RTD is. If you do have packet loss this could mean your wifi is very weak in the area your machine is located or it could mean you have very thick walls in your home.
In this same test you can see that there is an RTD(Round trip delay) calculator to. This could be an issue if its too high because it means the packets are taking a very long time to get to the League of Legend servers and back to you so to improve this you will have to either switch to ethernet or buy a faster internet package.