Твердое или мягкое произношение того или иного звука в русском языке обусловлено как произношением его в языке-источнике, так и степенью освоенности слова русским языком. Ср. ин[т]ернет, но [т']ермин.
Правильно: со шпротами. Перед словами, начинающимися с сочетаний [с, з, ш, ж + согласный], употребляется предлог со.