So you have your visible league rank(silver3, gold 5, etc) and a hidden match making rating(MMR). Each league rank has expected MMR ranges. If your MMR gets above the expected range of the league you are in then you will start to gain more LP for wins and lose less for losses. So lets say silver 4 is 1200 to 1300 MMR. If you are silver 4 with 1350 MMR you will gain more LP than you lose. Or if you are silver 4 with 1150 MMR you will lose more LP than you win.
League ranks are basically just a buffer because if you go on a random win or loss streak your MMR can change pretty drastically. If you played 100 games in silver 4 but one night had 4 afks in a row you would end the day silver 5 but you probably didn't magically become that much worse over night.
Your LP gains are basically determined by your win rate over the last like 50-100 games. If you win more than 50% then you should be gaining more LP than you lose.
As for the going up and down that could be a lot of things. Big picture it is going to subtly be happening because when you win a game your MMR goes up which leads you to be matched with better team mates and opponents. So if you win a game but do not improve at all then in your next game you will be slightly less likely to win because you aren't going to be as skilled relative to the rest of your team compared to your last game. In my opinion people who fluctuate in rank a lot like you described do so because they only know how to deal with so many situations. So when the enemy team is using a strategy you know how to play against you win more and when they use something you don't know how to deal with then you lose a lot. So its a little bit of rock, paper, scissors. This is especially true in lower ranks where most people have only learned a few strategies.