Which buddy Pokemon can ride on your shoulder?

Here's a list by position:

Shoulder: Caterpie, Weedle, Pidgey, Spearow, Pikachu*, Eevee, Plusle, Minun

Stands by your side: Bulbasaur, Charmander, Charmeleon, Squirtle, Wartortle, Metapod, Kakuna, Rattata, Raticate, Ekans, Raichu, Sandshrew, Sandslash, Nidoran Female, Nidorina, Nidoran Male, Nidorino, Clefairy, Vulpix, Jigglypuff, Oddish, Gloom, Paras, Parasect, Venonat, Diglett, Meowth, Persian, Psyduck, Mankey, Growlithe, Poliwag, Abra, Machop, Bellsprout, Tentacool, Geodude, Ponyta, Slowpoke, Farfetchd, Doduo, Seel, Dewgong, Grimer, Shellder, Krabby, Voltorb, Exeggcute, Cubone, Marowak, Lickitung, Tangela, Horsea, Goldeen, Staryu, Mr. Mime, Electabuzz, Magikarp, Ditto, Vaporeon, Jolteon, Flareon, Omanyte, Kabuto, Dratini, Mew**

Stands behind you: Ivysaur, Venusaur, Charizard, Blastoise, Arbok, Nidoqueen, Nidoking, Clefable, Ninetales, Wigglytuff, Vileplume, Dugtrio, Golduck, Primeape, Arcanine, Poliwhirl, Poliwrath, Kadabra, Alakazam, Machoke, Machamp, Weepinbell, Victreebel, Tentacruel, Graveler, Golem, Rapidash, Slowbro, Magneton, Dodrio, Muk, Cloyster, Gengar, Onix, Drowzee, Hypno, Kingler, Electrode, Exeggutor, Hitmonlee, Hitmonchan, Koffing, Weezing, Rhyhorn, Rhydon, Chansey, Kangaskhan, Seadra, Seaking, Starmie, Scyther, Jynx, Magmar, Pinsir, Tauros, Gyarados, Lapras, Porygon, Omastar, Kabutops, Aerodactyl, Snorlax, Moltres**, Dragonair, Dragonite, Mewtwo**

Flies behind you: Butterfree, Beedrill, Pidgeotto, Pidgeot, Fearow, Zubat, Golbat, Venomoth, Magnemite, Gastly, Haunter, Articuno**, Zapdos**

*Pikachu is a special case: it will stand by your side when first selected as your buddy, but will move to your shoulder once you've received 10 candies from it.

**These Pokemon are not currently available: information for these Pokemon is based off of datamining the app.

Source