Можно заменить анимации скриптовые на css3 анимации, но лучше не станет в плане количества блоков.
По-моему тут оптимальнее Canvas использовать.
Если уж и это не устраивает, то тогда использовать режимы наложения + маску, а маску двигать анимашкой.
Рандомно не получится, зато красивенько и сколько угодно звёздочек.
У Вас получается просто редирект AJAX запроса на адрес index.php
В данном случае необходимо просто вернуть ответом необходимость перехода на нужный адрес, а на стороне клиента в JS обработать ответ и переходить.
Скрипт разместите в head, тогда будет срабатывать или прикрепляйте события из кода, а не в html.
Дело в том, что тело страницы разбирается раньше, чем javascript, поэтому при разборе ещё нет объявления функции, а когда есть, уже поздно.