You need to start with good meat and some fat. IMO the easiest way to do this is to use 1 part sirloin and 1 part
untrimmed brisket. Many top burger joints use this (including Shake Shack in NY IIRC). If you like adding onion and other stuff, so be it. I like adding that AFTER the burger is cooked in the form of condiments.
The single best item I ever bought for getting burgers (and steaks, chicken, etc) absolutely perfect and juicy is the Grill Grate.
Your must-have grilling grate for any and every grill | GrillGrate It is IMPOSSIBLE to fail using these. They make anything you grill better. No flare up, no leaving it too long, no mistakes. I once forget a burger on the grill for 10 minutes (was working on car!). The only damage done was darker char marks. No joke. Burger was still juicy. Best "gadget" I ever bought for my grill apart from my ThermaPen meat probe (I do lots of grilling/smoking)
To melt cheese properly, wait until burger is done. Get a fry pan lid. Squirt water on grill and quickly cover with lid. Leave 20-30 seconds. Cheese will be perfectly melted.