Чтобы удалить кодировку из заголовка XML, передайте TextWriter с кодировкой null в XmlSerializer:
MemoryStream ms = new MemoryStream();
XmlTextWriter w = new XmlTextWriter(ms, null);
s.Serialize(w, vs);
Объяснение
XmlTextWriter использует кодировку из TextWriter, переданную в конструктор:
// XmlTextWriter constructor
public XmlTextWriter(TextWriter w) : this()
{
this.textWriter = w;
this.encoding = w.Encoding;
..
Используется эта кодировка при генерации XML:
// Snippet from XmlTextWriter.StartDocument
if (this.encoding != null)
{
builder.Append(" encoding=");
...