Research by The Local Data Company (LDC) and the University of Stirling found the average retail vacancy rate dropped from 14.5% to 13.7%.
East Kilbride has the highest rate of all Scottish towns, at 33%, while Inverurie has the lowest, at 1%.
The study found that 40% of Scotland's empty shops have remained vacant for more than three years.
It also suggested that town vacancy rates have improved at twice the rate of Scotland's cities.
The most improved towns were Anstruther, Clydebank, Dumfries, Inverkeithing, Lochgelly, Peterhead and Pitlochry.
Five towns have maintained vacancy rates at less than 6% for the last three years - Inverurie, Ellon, North Berwick, Dunbar and Biggar.
At the other end of the scale, rates in five towns have remained above 22% over the last three years - Banff, Dumbarton, Cumbernauld, East Kilbride and Ardrossan.
Dundee had the highest proportion of persistent vacancy, at 11%.
Anstruther was found to have the highest proportion of independent shops (86%), while Gretna had the lowest (5%).
Leisure is an increasingly significant presence in cities and towns, accounting for 39% of total stock in Edinburgh and Glasgow. Leisure businesses also account for more than 30% of shops in Renfrew, St Andrews, Lochgelly and Fort William.
Aberdeen has the highest proportion of charity shops for a city, at 4.2%, while Penicuik in Midlothian has the greatest proportion of charity shops for a town, at 8.9%.
Matthew Hopkinson, director at the Local Data Company, said: "The report identifies important trends as well as quashes common perceptions that deprived towns can't succeed.
"Of particular significance is that in many Scottish towns almost 40% of the vacant units have been vacant for more than three years.
"Such a stark figure implies obsolescence and a major barrier to healthy and sustainable places and communities."
The study looked into the health of high streets in more than 100 cities and towns north of the border.
The number of empty shops on Scotland's high streets has fallen in the past year, according to a new report.