Многие кстати забывают (а может и не знают), что есть конструкция PHP: <script language="php">php-код</script> и в некоторых ситуациях, когда фильтрами режутся конструкции <?php, <?, ?, может помочь. В кодинге конечно оно будет бесполезно, по этому придерживаюсь четвертого варианта.
При использовании фреймворков всегда юзаю четвертый вариант, без закрытого тэга ?>, отдельно взятые скрипты заключаю в полные тэги.
всегда пишу <?php .. ?> ибо если на серваке где будет работать скрипт в конфиге php не включен short_open_tag скрипт работать не будет