Во-первых, обратитесь к вашему списку (как переменная, тип возвращаемого значения или тип параметра) по имени интерфейса, так:
List<String> list = new ArrayList<String>();
Плохо связывать ваш код с конкретной реализацией.
В векторах нет ничего плохого. В основном это ArrayLists, где все методы синхронизированы. Это может создать ненужные накладные расходы, но не слишком.
Что касается подавления непроверенных предупреждений, это должно быть необходимо, только если вы ссылаетесь на список без общего аргумента. Например:
List list = new ArrayList<String>();
list.add("boo");
Поэтому всегда включайте соответствующий универсальный тип всякий раз, когда вы используете List в качестве возвращаемого типа, типа переменной или типа параметра.
Некоторые библиотеки могут не предоставлять вам такую возможность, но это должны быть единственные обстоятельства, при которых вам нужно подавлять непроверенные предупреждения.