I assume your Jolteon is timid. You need at least 385 speed to beat Weavile and every sane Gyarados with a dragon dance (216+ EVs). Split the remainder between HP, special attack and special defense depending on how offensive you want Jolteon to be. I would recommend 272 or 288 HP if you are running leftovers.
If you decide to use substitute, use 385+ speed, 289+ HP and the rest in special defense. This gives substitute the best chance of surviving hidden power from electric pokemon.