Arguably, the best ways to find rare Pokemon are to explore your surroundings. Visit places you haven't before, and see what Pokemon frequent the area. Lure Modules are also great to visit because they guarantee a Pokemon will appear - increasing the chance it may not be a common one.