As Fenrir said, there is no "best setting" in general.
As an overall descent streaming basic, I would start with 720p 30fps 3500kbit/s and x264 encoder with very fast preset.
If you have a lot of CPU resources left, you can try out x264 preset "faster" or even "fast" for a little more quality per bitrate.
If you feel the need for 60fps streaming, stick with very fast preset and increase bitrate to 5000kbit/s or even more.
If you're CPU can't handle the load, you can change switch to NVENC, as this decreases your CPU load a lot.
But the quality/bitrate will be slightly worse, than x264 very fast, so I would prefer x264.
For audio I would stick to 128 or 160 kbit/s.
Remember, that OBS needs some GPU power for rendering the scene, even if you disable the OBS preview and encode via CPU.
So you should make sure, that your game will never produce more than ~90% GPU load. In most scenarios, this can only be achieved by using an FPS limit for your game (Vsync, ingame fps limit, fps limit via config file or by 3rd party tool like MSI Afterburner+Rivatuner Statistics Server).
Depending on you content, you might want to switch between 1080p 30fps/720p 60fps/720p 30fps or even change bitrates (during stream, you can only change the bitrate...for other settings to change, you need to stop you stream for a few seconds).
Games like League of Legends, Hearthstone and Diablo 3 are compression-friendly. They can look good with very little bitrate and therefore you could increase your streaming resolution (sharper image) for those titles.
Rocket League, PUBG, ARK and similiar games (high amount of small details, bright + colorful image and a lot of movement) will need a lot more bitrate to look good in motion.
That's why those games will look blurry/pixelated, especially, when you combine them with 60fps streaming and/or 1080p. Even with 6000kbit/s, those titles get blurry at 1080p/60fps, so I would prefer 720p/60fps 5000-6000kbit/s here.
When you create your scene collection, I suggest to start with just the game_source and add every thing else later step by step (Webcam, browser sources, graphics, videos, filters etc.).
This way you can spot problems like a CPU hungry browser source, or problematic drivers way easier and pin point them down.
Depending on your settings and your content, it can be useful to avoid high resolution for your webcam, as this will increase USB load and CPU load. If you stream in 720p for example, there is no point in using 1080p webcam setting.
The OBS log file is your best friend. If you have finished a stream-/recording-test, just open your log file and search for the line, where it says, that the stream or recording has finished/stopped.
If there were problems with dropped/lagged/skipped frames, you will find them there.
Rendering problem = GPU
Encoding problem = CPU (if x264 is used for encoding)
Bandwidth problem = Quality or speed problem between your computer and the twitch server (can be packet loss, router/WiFi/ISP or even twitch server problems).
Here is my thread for troubleshooting and common problems:
https://obsproject.com/forum/threads/common-mistakes-and-how-to-avoid-them.78116/
Best regards and happy streaming.