Yes, you can change seats whenever. Keep in mind though that even if the seat next to you is empty an hour before flight, the airline might stick a standby passenger or non-rev there at the last minute.
It is more challenging to get an empty seat these days due to higher loads. Your best bet would be to focus on routes with less traffic and fly at off peak times.