В предложениях, которые вы привели, необходимо расставить запятые перед союзами "да", "а", "но", которые соединяют части сложносочинённых предложений. В таких случаях запятые ставятся для разделения простых предложений в составе сложного. Рассмотрим каждое предложение отдельно:
Стреляет редко, да метко.
- Здесь союз "да" используется в значении "но", поэтому перед ним ставится запятая.
В гостях хорошо, а дома лучше.
- Союз "а" соединяет два противопоставляемых предложения, поэтому перед ним ставится запятая.
Солнце светит, но не греет.
- Союз "но" всегда требует постановки запятой перед ним, так как он соединяет части сложносочинённого предложения.
Сначала думай, а потом делай.
- Перед союзом "а" ставится запятая, так как он разделяет две части сложносочинённого предложения.
Не по словам судят, а по делам.
- Союз "а" соединяет две части предложения, указывая на противопоставление, поэтому перед ним ставится запятая.
Гуляй, но дела не забывай.
- Союз "но" требует постановки запятой перед ним, так как он соединяет части сложносочинённого предложения.
Таким образом, все предложенные вами предложения требуют постановки запятых перед союзами, соединяющими части сложносочинённых предложений.