How can I modify the character movement component in UE 4.9?

Actually non-character Pawns work quite differently from Characters. They don’t have a default MovementComponent when they are created so you have to add your own, e.g. when subclassing Pawn with a Blueprint. GetMovementComponent()'s base implementation returns the first component of type UPawnMovementComponent. Therefore, as long as you make sure that there is only one MovementComponent on your pawn (which is in general the case), you don’t have to override GetMovementComponent().

I guess what you meant is that Characters are Pawns and therefore could use this method. The problem is that ACharacter still accesses ACharacter::CharacterMovement in its methods, ignoring APawn::GetMovementComponent().

According to the comments in Character.h, CharacterMovement will soon be private and all references to CharacterMovement in the code (except those that set it) should use GetCharacterMovement() instead. If this method becomes virtual and called consistenly in Character.cpp, then overriding it will indeed make the custom CharacterMovement used for motion. However, there would still remain a “hidden” default CharacterMovement on the character (hence gformiga suggesting to replace the class via ObjectInitializer).