Hola, José Joaquín.
Efectivamente, no existe una "mejor metodología". Cada programador desarrolla una manera de programar que más se ajusta a su propia manera de trabajar, a los encargos que recibe y los requerimientos del propio cliente sobre esos encargos.
xve te invita a explorar la posibilidad de utilizar los entornos MVC, que separan el acceso a los datos de la construcción de las páginas que los usuarios verán finalmente en sus navegadores (esto explicado a grandes rasgos, por bien de la claridad de mi respuesta -su enlace a la wikipedia es mucho más ilustrativo que mis propias palabras-). Yo particularmente, utilizo el framework Laravel; pero también me he encontrado en la misma tesitura que tú: ¿dónde pongo cada cosa?.
Dado que soy trabajador autónomo (lo cual quiere decir básicamente que estoy sólo un nivel por encima de los esclavos, el equivalente a los libertos romanos), he tenido que encontrar un equilibrio entre el placer de programar por programar, la satisfacción de que las páginas web sean agradables a la vista y la ética profesional que me obliga a ofrecer a mis clientes el producto más seguro, rápido y eficaz que pueda dentro de mis limitadas capacidades. En el fondo, he tenido que buscar el grado de productividad necesario para poder sobrevivir laboralmente programando. De modo que, aquí va mi respuesta concreta a tu pregunta concreta, siempre en base a mi experiencia personal (parto de la base de que, habiendo acabado los estudios, ahora te encontrarás en la tesitura de vender tus conocimientos trabajando para otros o por tus propios medios):
a) Como regla general, no reinventes la rueda. Los frameworks de programación de servidor ofrecen unos niveles de estandarización, seguridad, facilidad de uso y rendimiento nada despreciables. Como te dije, yo opté por Laravel, pero existen otros muchos con pequeños matices entre ellos. Es recomendable darse una vuelta por las respectivas webs para que te hagas una idea sobre sus usos y particularidades. Ten en cuenta que a los frameworks les da igual que utilices o no bases de datos (aunque sea lo normal) y que muchos de ellos llevan manejadores de plantillas (como Blade en Laravel) que facilitan un montón la programación HTML - CSS - Javascript/jQuery y el aprovechamiento de código.
b) Una vez optes por un framework, haz caso de los modos de uso que los propios creadores te recomiendan. Es bueno abandonar totalmente las costumbres viejas para abrazar la metodología inherente al framework escogido para sacarle su máximo partido (la productividad manda).
c) Tu profesor tiene razón. La programación web moderna bebe de muchas fuentes y las mezcla sin ningún rubor. Existen tantas ocasiones en las que conviene construir la página dinámicamente, generando el código HTML en la parte PHP, que es inútil intentar aplicar una regla fija del tipo: html en ficheros html y php en ficheros php. O hacer una página web con bootstrap sin plugins de terceros. O, puestos en un extremo, hacer una página web sin utilizar jQuery.
Programar siempre ha sido un trabajo difícil. Incluso cuando nos acercamos a la programación como afición, sigue siendo un trabajo difícil. Sería ideal tener una herramienta que nos lo permitiera hacer TODO, BIEN y RÁPIDAMENTE, SIEMPRE. Mi experiencia me dice que eso no existe. Incluso Flash, que durante un tiempo era el no-va-más de la programación web, prácticamente está en franco retroceso.
Por último, me gustaría recomendarte esta entrada de la wikipedia:
https://es.wikipedia.org/wiki/Scrum_(desarrollo_de_software)
Posiblemente el futuro de la productividad en la programación no pase tanto por las HERRAMIENTAS utilizadas como por la METODOLOGÍA que se utilice.
Pido disculpas por la extensión del post. Contestar en domingo es lo que tiene, que uno tiene más tiempo de lo normal y se explaya en demasía.
Saldos.