Действительно сложная проблема. И приведённые выше мысли каждая имеет под собой свою логику. Изложу лишь, как мне самому кажется уместно располагать смайлы.
Вне знаков пунктуации, например между словами, смайл должен стоять через пробелы от обоих

соседствующих слов.
В случае, когда смайл соседствует с запятой или точкой с запятой, делаю пробел после слова

, но прилепляю к знаку пунктуации.
В случае конца предложения, делаю проблел между последним словом и смайлом, а смайл прилепляю к точке. Заменять точку смайлом не считаю возможным, т.к. без точки грамматически любое предложение не считается законченным

.