#1 is not necessary and not advisable. It may end up causing mixed content warnings in some rare cases. The advice is: if you don't absolutely require $live_site (as in: your site does not work without it) then always leave it blank.
#2 is not required unless you have third party, non-Joomla! scripts running on your site. If you only have Joomla! then #3 and #4 are more than adequate.
#3 and #4 are actually what you need to do. The former tells Joomla! to redirect all requests to the HTTPS site and the latter tells the browser to never even bother with HTTP requests. Essentially, #4 acts like #2 without the browser having to hit the server. With #2 the browser would hit the HTTP URL, receive a 302 redirect to HTTPS and then hit the HTTPS URL, for each and every HTML, CSS, JS, image etc file. With #4 the browser doesn't hit the HTTP URL at all; it converts it to HTTPS automatically, therefore being far more efficient and server-friendly.
Nicholas K. Dionysopoulos
Lead Developer and Director
🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!