Age your money. It basically means 'save it for later'. Budget & spend money using your previous income. In my case, I got paid monthly so 1 month age is sufficient. So when I get my paycheck, I budget it for the next month. 'Paycheck to paycheck' can be solved in this way.
According to your income description, age your income for several months(maybe 6 to 12 months). This means you need to save money that worths 6 to 12 months budget. It is quite inefficient since you will have a lot of cash uninvested. Except for short-term investments like MMF, I think there is nothing much to deal with it.
Save for the rainy day. As much as your income, some of your expenses(such as medical bills, car repairs, etc) cannot be predicted. But you still know that you will gonna pay it someday. Budget it with your best guess.
Additionally, it is advisable to save your 3 to 6 months expense as an emergency fund. You don't budget this for any use. Use it when you don't have money to budget. It is also useful to defend your investments. You don't need to sell investments at a low price.
Roll with the punches. Be flexible with your budget. If you overspent on groceries, don't use your emergency fund just for that. Simply reallocate your budget. If your recreational budget is underspent, move some of the money to the groceries budget.
Disclaimer: Most of these ideas are from YNAB. I'm a user of YNAB.