I've spent some time in a "betta" forum. Based on what I've learned there, 2.5g is enough for a betta. 1.5g is seen as a minimum, with 2.5 being better. Obviously the larger the better from the stand point of having room for tank mates, but you don't 'NEED' to go bigger than 2.5g unless you want to.
The change is color is due to the change in stress (or lack there-of). Now that he's no longer living in a cup that people handle each day, he's under a lot less stress, so the color change in this case is an indication he's relatively happy.
As for the filter, that can be a problem for bettas. Because of their large fins, they effectively act like sails on a boat. So what might be a minor current for the average fish becomes a major current for a betta because of all the fins. Based on what you've described, is sounds like you'll need to do something to reduce the current created by your current filter... or change to a different kind of filter.
When it comes to filters for betta tanks, I've liked filters that don't force the water back into the tank but gently flow back into the tank. Examples would include the hood style filters that Marineland makes as well as the 'Whisper' series of filters by Tetra. I only recently aquired a Small Aquarium Filter: Internal Filter Perfect for up to 3 gallon Tank
. I don't know how well it will do long term, as there isn't much room for any sort of 'diy' filter pads in this small one. But for larger tanks, I love these Internal Aquarium Filter | Tetra Whisper: No Hassle No Noise
because they are so easy to create your own custom filter system.