How to make camera copy the current 3d view? Sometimes I find the perfect view by moving the scene with middle mouse button in 3d View. Is there any good way to create a camera based on the actual viewport position, size and rotation?

Ctrl+Alt+0 works, but is not even close enough to be a good solution in my case.
Short answer is "no." ctrlalt0 is as close as you're going to get. It's not perfect, but it'll get you pretty close. From there, using gandalf3's recommendation to "Lock Camera to View" is probably the best way to refine it from there.